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

range.h File Reference

Go to the source code of this file.

Classes

struct  _RTLP_RANGE_LIST_ENTRY

Defines

#define MAX_ULONGLONG   ((ULONGLONG)-1)
#define RTL_RANGE_LIST_ENTRY_TAG   'elRR'
#define RTL_RANGE_LIST_MISC_TAG   'mlRR'
#define DEBUG_PRINT(Level, Message)
#define RTLP_RANGE_LIST_ENTRY_MERGED   0x0001
#define MERGED(Entry)   (BOOLEAN)((Entry)->PrivateFlags & RTLP_RANGE_LIST_ENTRY_MERGED)
#define SHARED(Entry)   (BOOLEAN)((Entry)->PublicFlags & RTL_RANGE_SHARED)
#define CONFLICT(Entry)   (BOOLEAN)((Entry)->PublicFlags & RTL_RANGE_CONFLICT)
#define FOR_ALL_IN_LIST(Type, Head, Current)
#define FOR_ALL_IN_LIST_SAFE(Type, Head, Current, Next)
#define FOR_REST_IN_LIST(Type, Head, Current)
#define FOR_REST_IN_LIST_SAFE(Type, Head, Current, Next)
#define FOR_ALL_IN_LIST_BACKWARDS(Type, Head, Current)
#define FOR_ALL_IN_LIST_SAFE_BACKWARDS(Type, Head, Current, Next)
#define FOR_REST_IN_LIST_BACKWARDS(Type, Head, Current)
#define FOR_REST_IN_LIST_SAFE_BACKWARDS(Type, Head, Current, Next)
#define LAST_IN_LIST(ListHead, Entry)   ( (Entry)->ListEntry.Flink == ListHead )
#define FIRST_IN_LIST(ListHead, Entry)   ( (Entry)->ListEntry.Blink == ListHead )
#define RANGE_DISJOINT(a, b)
#define RANGE_INTERSECT(a, b)   !RANGE_DISJOINT((a),(b))
#define RANGE_LIMITS_DISJOINT(s1, e1, s2, e2)
#define RANGE_LIMITS_INTERSECT(s1, e1, s2, e2)   !RANGE_LIMITS_DISJOINT((s1),(e1),(s2),(e2))
#define RANGE_LIST_ENTRY_FROM_LIST_ENTRY(Entry)   CONTAINING_RECORD((Entry), RTLP_RANGE_LIST_ENTRY, ListEntry)
#define RANGE_LIST_FROM_LIST_HEAD(Head)   CONTAINING_RECORD((Head), RTL_RANGE_LIST, ListHead)
#define FOR_REST_OF_RANGES(_Iterator, _Current, _Forward)
#define InsertEntryList(Previous, Entry)

Typedefs

typedef _RTLP_RANGE_LIST_ENTRY RTLP_RANGE_LIST_ENTRY
typedef _RTLP_RANGE_LIST_ENTRYPRTLP_RANGE_LIST_ENTRY


Define Documentation

#define CONFLICT Entry   )     (BOOLEAN)((Entry)->PublicFlags & RTL_RANGE_CONFLICT)
 

Definition at line 121 of file range.h.

Referenced by RtlMergeRangeLists(), and RtlpConvertToMergedRange().

#define DEBUG_PRINT Level,
Message   ) 
 

Definition at line 42 of file range.h.

#define FIRST_IN_LIST ListHead,
Entry   )     ( (Entry)->ListEntry.Blink == ListHead )
 

Definition at line 210 of file range.h.

#define FOR_ALL_IN_LIST Type,
Head,
Current   ) 
 

Value:

for((Current) = CONTAINING_RECORD((Head)->Flink, Type, ListEntry); \ (Head) != &(Current)->ListEntry; \ (Current) = CONTAINING_RECORD((Current)->ListEntry.Flink, \ Type, \ ListEntry) \ )

Definition at line 127 of file range.h.

#define FOR_ALL_IN_LIST_BACKWARDS Type,
Head,
Current   ) 
 

Value:

for((Current) = CONTAINING_RECORD((Head)->Blink, Type, ListEntry); \ (Head) != &(Current)->ListEntry; \ (Current) = CONTAINING_RECORD((Current)->ListEntry.Blink, \ Type, \ ListEntry) \ )

Definition at line 167 of file range.h.

#define FOR_ALL_IN_LIST_SAFE Type,
Head,
Current,
Next   ) 
 

Value:

for((Current) = CONTAINING_RECORD((Head)->Flink, Type, ListEntry), \ (Next) = CONTAINING_RECORD((Current)->ListEntry.Flink, \ Type, ListEntry); \ (Head) != &(Current)->ListEntry; \ (Current) = (Next), \ (Next) = CONTAINING_RECORD((Current)->ListEntry.Flink, \ Type, ListEntry) \ )

Definition at line 135 of file range.h.

Referenced by RtlDeleteOwnersRanges(), RtlDeleteRange(), RtlFreeRangeList(), RtlpAddIntersectingRanges(), RtlpDeleteFromMergedRange(), and RtlpDeleteRangeListEntry().

#define FOR_ALL_IN_LIST_SAFE_BACKWARDS Type,
Head,
Current,
Next   ) 
 

Value:

for((Current) = CONTAINING_RECORD((Head)->Blink, Type, ListEntry), \ (Next) = CONTAINING_RECORD((Current)->ListEntry.Blink, \ Type, ListEntry); \ (Head) != &(Current)->ListEntry; \ (Current) = (Next), \ (Next) = CONTAINING_RECORD((Current)->ListEntry.Blink, \ Type, ListEntry) \ )

Definition at line 175 of file range.h.

#define FOR_REST_IN_LIST Type,
Head,
Current   ) 
 

Value:

for(; \ (Head) != &(Current)->ListEntry; \ (Current) = CONTAINING_RECORD((Current)->ListEntry.Flink, \ Type, \ ListEntry) \ )

Definition at line 146 of file range.h.

Referenced by RtlpAddIntersectingRanges().

#define FOR_REST_IN_LIST_BACKWARDS Type,
Head,
Current   ) 
 

Value:

for(; \ (Head) != &(Current)->ListEntry; \ (Current) = CONTAINING_RECORD((Current)->ListEntry.Blink, \ Type, \ ListEntry) \ )

Definition at line 186 of file range.h.

#define FOR_REST_IN_LIST_SAFE Type,
Head,
Current,
Next   ) 
 

Value:

for((Next) = CONTAINING_RECORD((Current)->ListEntry.Flink, \ Type, ListEntry); \ (Head) != &(Current)->ListEntry; \ (Current) = (Next), \ (Next) = CONTAINING_RECORD((Current)->ListEntry.Flink, \ Type, ListEntry) \ )

Definition at line 154 of file range.h.

Referenced by RtlpAddIntersectingRanges().

#define FOR_REST_IN_LIST_SAFE_BACKWARDS Type,
Head,
Current,
Next   ) 
 

Value:

for((Next) = CONTAINING_RECORD((Current)->ListEntry.Blink, \ Type, ListEntry); \ (Head) != &(Current)->ListEntry; \ (Current) = (Next), \ (Next) = CONTAINING_RECORD((Current)->ListEntry.Blink, \ Type, ListEntry) \ )

Definition at line 194 of file range.h.

#define FOR_REST_OF_RANGES _Iterator,
_Current,
_Forward   ) 
 

Value:

for ((_Current) = (PRTL_RANGE)(_Iterator)->Current; \ (_Current) != NULL; \ RtlGetNextRange((_Iterator), &(_Current), (_Forward)) \ )

Definition at line 234 of file range.h.

Referenced by RtlpIsRangeAvailable().

#define InsertEntryList Previous,
Entry   ) 
 

Value:

{ \ PLIST_ENTRY _EX_Next = (Previous)->Flink; \ PLIST_ENTRY _EX_Previous = (Previous); \ (Entry)->Flink = _EX_Next; \ (Entry)->Blink = _EX_Previous; \ _EX_Next->Blink = (Entry); \ _EX_Previous->Flink = (Entry); \ }

Definition at line 248 of file range.h.

Referenced by RtlpAddRange(), and RtlpAddToMergedRange().

#define LAST_IN_LIST ListHead,
Entry   )     ( (Entry)->ListEntry.Flink == ListHead )
 

Definition at line 207 of file range.h.

#define MAX_ULONGLONG   ((ULONGLONG)-1)
 

Definition at line 33 of file range.h.

#define MERGED Entry   )     (BOOLEAN)((Entry)->PrivateFlags & RTLP_RANGE_LIST_ENTRY_MERGED)
 

Definition at line 119 of file range.h.

Referenced by RtlDeleteOwnersRanges(), RtlDeleteRange(), RtlGetFirstRange(), RtlGetLastRange(), RtlGetNextRange(), RtlMergeRangeLists(), RtlpAddIntersectingRanges(), RtlpAddToMergedRange(), RtlpConvertToMergedRange(), RtlpCopyRangeListEntry(), RtlpDeleteFromMergedRange(), and RtlpDeleteRangeListEntry().

#define RANGE_DISJOINT a,
 ) 
 

Value:

( ((a)->Start < (b)->Start && (a)->End < (b)->Start) \ ||((b)->Start < (a)->Start && (b)->End < (a)->Start) )

Definition at line 214 of file range.h.

#define RANGE_INTERSECT a,
 )     !RANGE_DISJOINT((a),(b))
 

Definition at line 218 of file range.h.

Referenced by RtlpAddIntersectingRanges(), RtlpAddRange(), and RtlpAddToMergedRange().

#define RANGE_LIMITS_DISJOINT s1,
e1,
s2,
e2   ) 
 

Value:

( ((s1) < (s2) && (e1) < (s2)) \ ||((s2) < (s1) && (e2) < (s1)) )

Definition at line 221 of file range.h.

#define RANGE_LIMITS_INTERSECT s1,
e1,
s2,
e2   )     !RANGE_LIMITS_DISJOINT((s1),(e1),(s2),(e2))
 

Definition at line 225 of file range.h.

Referenced by RtlpIsRangeAvailable().

#define RANGE_LIST_ENTRY_FROM_LIST_ENTRY Entry   )     CONTAINING_RECORD((Entry), RTLP_RANGE_LIST_ENTRY, ListEntry)
 

Definition at line 228 of file range.h.

Referenced by RtlGetFirstRange(), RtlGetLastRange(), RtlGetNextRange(), and RtlpAddIntersectingRanges().

#define RANGE_LIST_FROM_LIST_HEAD Head   )     CONTAINING_RECORD((Head), RTL_RANGE_LIST, ListHead)
 

Definition at line 231 of file range.h.

Referenced by RtlGetNextRange().

#define RTL_RANGE_LIST_ENTRY_TAG   'elRR'
 

Definition at line 35 of file range.h.

#define RTL_RANGE_LIST_MISC_TAG   'mlRR'
 

Definition at line 36 of file range.h.

#define RTLP_RANGE_LIST_ENTRY_MERGED   0x0001
 

Definition at line 49 of file range.h.

Referenced by RtlpConvertToMergedRange().

#define SHARED Entry   )     (BOOLEAN)((Entry)->PublicFlags & RTL_RANGE_SHARED)
 

Definition at line 120 of file range.h.

Referenced by RtlpAddIntersectingRanges(), and RtlpAddToMergedRange().


Typedef Documentation

typedef struct _RTLP_RANGE_LIST_ENTRY * PRTLP_RANGE_LIST_ENTRY
 

typedef struct _RTLP_RANGE_LIST_ENTRY RTLP_RANGE_LIST_ENTRY
 

Referenced by RtlpCopyRangeListEntry().


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