Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

stdtimep.h File Reference

Go to the source code of this file.

Defines

#define SHIFT10000   13
#define SHIFT10000000   23
#define SHIFT86400000   26
#define Convert100nsToMilliseconds(LARGE_INTEGER)
#define ConvertMillisecondsTo100ns(MILLISECONDS)
#define Convert100nsToSeconds(LARGE_INTEGER)
#define ConvertSecondsTo100ns(SECONDS)
#define ConvertMillisecondsToDays(LARGE_INTEGER)
#define MAX_STDTIME_TDF   (780)
#define MIN_STDTIME_TDF   (-720)
#define STDTIME_REVISION   (4)
#define STDTIME_REVISION_SHIFT   12
#define ShiftStandardTimeRevision(Rev)   ((USHORT) ((Rev) << STDTIME_REVISION_SHIFT))
#define SHIFTED_STDTIME_REVISION   (ShiftStandardTimeRevision(STDTIME_REVISION))
#define TDF_MASK   ((USHORT) 0x0fff)
#define MaskStandardTimeTdf(Tdf)   ((USHORT) ((Tdf) & TDF_MASK))
#define GetStandardTimeTdf(StdTime)
#define GetStandardTimeRev(StdTime)   ((USHORT) (((StdTime)->TdfAndRevision) >> STDTIME_REVISION_SHIFT))
#define IsPositive(Time)   ( ((Time).HighPart > 0) || (((Time).HighPart = 0) & ((Time).LowPart > 0)) )
#define IsAbsoluteTime(Time)   ( IsPositive(Time->SimpleTime) )
#define IsDeltaTime(Time)   ( !IsAbsoluteTime(Time) )
#define GreaterThanTime(Time1, Time2)
#define GreaterThanStdTime(Time1, Time2)   GreaterThanTime((Time1).SimpleTime, (Time2).SimpleTime)
#define WEEKDAY_OF_1601   1
#define ElapsedDaysToYears(DAYS)
#define NumberOfLeapYears(YEARS)
#define ElapsedYearsToDays(YEARS)
#define IsLeapYear(YEARS)
#define MaxDaysInMonth(YEAR, MONTH)

Functions

VOID RtlpConvert48To64 (IN PSTDTIME_ERROR num48, OUT LARGE_INTEGER *num64)
NTSTATUS RtlpConvert64To48 (IN LARGE_INTEGER num64, OUT PSTDTIME_ERROR num48)
LARGE_INTEGER RtlpTimeToLargeInt (IN LARGE_INTEGER Time)
LARGE_INTEGER RtlpLargeIntToTime (IN LARGE_INTEGER Int)
NTSTATUS RtlpAdd48Int (IN PSTDTIME_ERROR First48, IN PSTDTIME_ERROR Second48, IN PSTDTIME_ERROR Result48)
NTSTATUS RtlpAddTime (IN LARGE_INTEGER Time1, IN LARGE_INTEGER Time2, OUT PLARGE_INTEGER Result)
NTSTATUS RtlpSubtractTime (IN LARGE_INTEGER Time1, IN LARGE_INTEGER Time2, OUT PLARGE_INTEGER Result)
LARGE_INTEGER RtlpAbsTime (IN LARGE_INTEGER Time)

Variables

LARGE_INTEGER Magic10000
LARGE_INTEGER Magic10000000
LARGE_INTEGER Magic86400000
LARGE_INTEGER SecondsToStartOf1970
LARGE_INTEGER SecondsToStartOf1980


Define Documentation

#define Convert100nsToMilliseconds LARGE_INTEGER   ) 
 

Value:

( \ RtlExtendedMagicDivide( (LARGE_INTEGER), Magic10000, SHIFT10000 ) \ )

Definition at line 50 of file stdtimep.h.

#define Convert100nsToSeconds LARGE_INTEGER   ) 
 

Value:

( \ RtlExtendedMagicDivide( (LARGE_INTEGER), Magic10000000, SHIFT10000000 ) \ )

Definition at line 58 of file stdtimep.h.

Referenced by RtlTimeToSecondsSince1970(), and RtlTimeToSecondsSince1980().

#define ConvertMillisecondsTo100ns MILLISECONDS   ) 
 

Value:

( \ RtlExtendedIntegerMultiply( (MILLISECONDS), 10000 ) \ )

Definition at line 54 of file stdtimep.h.

Referenced by DaysAndFractionToTime().

#define ConvertMillisecondsToDays LARGE_INTEGER   ) 
 

Value:

( \ RtlExtendedMagicDivide( (LARGE_INTEGER), Magic86400000, SHIFT86400000 ) \ )

Definition at line 66 of file stdtimep.h.

Referenced by TimeToDaysAndFraction().

#define ConvertSecondsTo100ns SECONDS   ) 
 

Value:

( \ RtlExtendedIntegerMultiply( (SECONDS), 10000000L ) \ )

Definition at line 62 of file stdtimep.h.

Referenced by RtlSecondsSince1970ToTime(), and RtlSecondsSince1980ToTime().

#define ElapsedDaysToYears DAYS   ) 
 

Value:

( \ ((DAYS) * 128 + 127) / 46751 \ )

Definition at line 323 of file stdtimep.h.

Referenced by RtlTimeToTimeFields().

#define ElapsedYearsToDays YEARS   ) 
 

Value:

( \ ((YEARS) * 365) + NumberOfLeapYears(YEARS) \ )

Definition at line 354 of file stdtimep.h.

Referenced by RtlTimeFieldsToTime(), and RtlTimeToTimeFields().

#define GetStandardTimeRev StdTime   )     ((USHORT) (((StdTime)->TdfAndRevision) >> STDTIME_REVISION_SHIFT))
 

Definition at line 179 of file stdtimep.h.

#define GetStandardTimeTdf StdTime   ) 
 

Value:

((SHORT) \ (((StdTime)->TdfAndRevision) & 0x0800) \ ? (MaskStandardTimeTdf((StdTime)->TdfAndRevision) - 0x1000) \ : MaskStandardTimeTdf((StdTime)->TdfAndRevision) \ )

Definition at line 161 of file stdtimep.h.

#define GreaterThanStdTime Time1,
Time2   )     GreaterThanTime((Time1).SimpleTime, (Time2).SimpleTime)
 

Definition at line 268 of file stdtimep.h.

#define GreaterThanTime Time1,
Time2   ) 
 

Value:

( \ ((Time1).HighPart > (Time2).HighPart) \ || \ ( \ ((Time1).HighPart == (Time2).HighPart) \ && \ ((Time1).LowPart > (Time2).LowPart) \ ) \ )

Definition at line 245 of file stdtimep.h.

#define IsAbsoluteTime Time   )     ( IsPositive(Time->SimpleTime) )
 

Definition at line 213 of file stdtimep.h.

#define IsDeltaTime Time   )     ( !IsAbsoluteTime(Time) )
 

Definition at line 227 of file stdtimep.h.

#define IsLeapYear YEARS   ) 
 

Value:

( \ (((YEARS) % 400 == 0) || \ ((YEARS) % 100 != 0) && ((YEARS) % 4 == 0)) ? \ TRUE \ : \ FALSE \ )

Definition at line 368 of file stdtimep.h.

Referenced by RtlTimeFieldsToTime(), and RtlTimeToTimeFields().

#define IsPositive Time   )     ( ((Time).HighPart > 0) || (((Time).HighPart = 0) & ((Time).LowPart > 0)) )
 

Definition at line 200 of file stdtimep.h.

#define MaskStandardTimeTdf Tdf   )     ((USHORT) ((Tdf) & TDF_MASK))
 

Definition at line 141 of file stdtimep.h.

#define MAX_STDTIME_TDF   (780)
 

Definition at line 81 of file stdtimep.h.

#define MaxDaysInMonth YEAR,
MONTH   ) 
 

Value:

( \ IsLeapYear(YEAR) ? \ LeapYearDaysPrecedingMonth[(MONTH) + 1] - \ LeapYearDaysPrecedingMonth[(MONTH)] \ : \ NormalYearDaysPrecedingMonth[(MONTH) + 1] - \ NormalYearDaysPrecedingMonth[(MONTH)] \ )

Definition at line 388 of file stdtimep.h.

Referenced by RtlTimeFieldsToTime().

#define MIN_STDTIME_TDF   (-720)
 

Definition at line 82 of file stdtimep.h.

#define NumberOfLeapYears YEARS   ) 
 

Value:

( \ ((YEARS) / 4) - ((YEARS) / 100) + ((YEARS) / 400) \ )

Definition at line 339 of file stdtimep.h.

#define SHIFT10000   13
 

Definition at line 37 of file stdtimep.h.

#define SHIFT10000000   23
 

Definition at line 40 of file stdtimep.h.

#define SHIFT86400000   26
 

Definition at line 43 of file stdtimep.h.

#define SHIFTED_STDTIME_REVISION   (ShiftStandardTimeRevision(STDTIME_REVISION))
 

Definition at line 118 of file stdtimep.h.

#define ShiftStandardTimeRevision Rev   )     ((USHORT) ((Rev) << STDTIME_REVISION_SHIFT))
 

Definition at line 110 of file stdtimep.h.

#define STDTIME_REVISION   (4)
 

Definition at line 89 of file stdtimep.h.

#define STDTIME_REVISION_SHIFT   12
 

Definition at line 97 of file stdtimep.h.

#define TDF_MASK   ((USHORT) 0x0fff)
 

Definition at line 126 of file stdtimep.h.

#define WEEKDAY_OF_1601   1
 

Definition at line 284 of file stdtimep.h.

Referenced by RtlTimeToTimeFields().


Function Documentation

LARGE_INTEGER RtlpAbsTime IN LARGE_INTEGER  Time  ) 
 

NTSTATUS RtlpAdd48Int IN PSTDTIME_ERROR  First48,
IN PSTDTIME_ERROR  Second48,
IN PSTDTIME_ERROR  Result48
 

NTSTATUS RtlpAddTime IN LARGE_INTEGER  Time1,
IN LARGE_INTEGER  Time2,
OUT PLARGE_INTEGER  Result
 

VOID RtlpConvert48To64 IN PSTDTIME_ERROR  num48,
OUT LARGE_INTEGER *  num64
 

NTSTATUS RtlpConvert64To48 IN LARGE_INTEGER  num64,
OUT PSTDTIME_ERROR  num48
 

LARGE_INTEGER RtlpLargeIntToTime IN LARGE_INTEGER  Int  ) 
 

NTSTATUS RtlpSubtractTime IN LARGE_INTEGER  Time1,
IN LARGE_INTEGER  Time2,
OUT PLARGE_INTEGER  Result
 

LARGE_INTEGER RtlpTimeToLargeInt IN LARGE_INTEGER  Time  ) 
 


Variable Documentation

LARGE_INTEGER Magic10000
 

Definition at line 36 of file stdtimep.h.

LARGE_INTEGER Magic10000000
 

Definition at line 39 of file stdtimep.h.

LARGE_INTEGER Magic86400000
 

Definition at line 42 of file stdtimep.h.

LARGE_INTEGER SecondsToStartOf1970
 

Definition at line 297 of file stdtimep.h.

Referenced by RtlSecondsSince1970ToTime(), and RtlTimeToSecondsSince1970().

LARGE_INTEGER SecondsToStartOf1980
 

Definition at line 298 of file stdtimep.h.

Referenced by RtlSecondsSince1980ToTime(), and RtlTimeToSecondsSince1980().


Generated on Sat May 15 19:45:40 2004 for test by doxygen 1.3.7