ReactOS 0.4.16-dev-112-g52265ae
|
Go to the source code of this file.
Functions | |||||||||
_GetRandomLevel | |||||||||
static __inline CHAR | _GetRandomLevel () | ||||||||
_InsertElementSkiplistWithInformation | |||||||||
Determines a level for the new element and inserts it at the given position in the Skiplist. This function is internally used by the Skiplist insertion functions.
| |||||||||
static BOOL | _InsertElementSkiplistWithInformation (PSKIPLIST Skiplist, PVOID Element, PSKIPLIST_NODE *pUpdate, DWORD *dwDistance) | ||||||||
DeleteElementSkiplist | |||||||||
Deletes an element from the Skiplist. The efficiency of this operation is O(log N) on average. Instead of the result of a LookupElementSkiplist call, it's sufficient to provide a dummy element with just enough information for your CompareRoutine. A lookup for the element to be deleted needs to be performed in any case.
| |||||||||
PVOID | DeleteElementSkiplist (PSKIPLIST Skiplist, PVOID Element) | ||||||||
InitializeSkiplist | |||||||||
Initializes a new Skiplist structure.
| |||||||||
void | InitializeSkiplist (PSKIPLIST Skiplist, PSKIPLIST_ALLOCATE_ROUTINE AllocateRoutine, PSKIPLIST_COMPARE_ROUTINE CompareRoutine, PSKIPLIST_FREE_ROUTINE FreeRoutine) | ||||||||
InsertElementSkiplist | |||||||||
Inserts a new element into the Skiplist. The efficiency of this operation is O(log N) on average. Uses CompareRoutine to find the right position for the insertion.
| |||||||||
BOOL | InsertElementSkiplist (PSKIPLIST Skiplist, PVOID Element) | ||||||||
InsertTailElementSkiplist | |||||||||
Inserts a new element at the end of the Skiplist. The efficiency of this operation is O(log N) on average. In contrast to InsertElementSkiplist, this function is more efficient by not calling CompareRoutine at all and always inserting the element at the end. You're responsible for calling this function only when you can guarantee that InsertElementSkiplist would also insert the element at the end.
| |||||||||
BOOL | InsertTailElementSkiplist (PSKIPLIST Skiplist, PVOID Element) | ||||||||
LookupElementSkiplist | |||||||||
Looks up an element in the Skiplist. The efficiency of this operation is O(log N) on average.
| |||||||||
PVOID | LookupElementSkiplist (PSKIPLIST Skiplist, PVOID Element, PDWORD ElementIndex) | ||||||||
LookupNodeByIndexSkiplist | |||||||||
Looks up a node in the Skiplist at the given position. The efficiency of this operation is O(log N) on average.
| |||||||||
PSKIPLIST_NODE | LookupNodeByIndexSkiplist (PSKIPLIST Skiplist, DWORD ElementIndex) | ||||||||
|
static |
Definition at line 23 of file skiplist.c.
Referenced by _InsertElementSkiplistWithInformation().
|
static |
Definition at line 71 of file skiplist.c.
Referenced by InsertElementSkiplist(), and InsertTailElementSkiplist().
Definition at line 146 of file skiplist.c.
Referenced by _LocalSetJobLevel1(), _LocalSetJobLevel2(), FreeJob(), and main().
void InitializeSkiplist | ( | PSKIPLIST | Skiplist, |
PSKIPLIST_ALLOCATE_ROUTINE | AllocateRoutine, | ||
PSKIPLIST_COMPARE_ROUTINE | CompareRoutine, | ||
PSKIPLIST_FREE_ROUTINE | FreeRoutine | ||
) |
Definition at line 220 of file skiplist.c.
Referenced by InitializeGlobalJobList(), InitializePrinterJobList(), InitializePrinterList(), and main().
Definition at line 250 of file skiplist.c.
Referenced by _LocalSetJobLevel1(), _LocalSetJobLevel2(), CreateJob(), InitializeGlobalJobList(), InitializePrinterList(), and main().
Definition at line 308 of file skiplist.c.
Referenced by CreateJob().
Definition at line 357 of file skiplist.c.
Referenced by _GetNextJobID(), _LocalGetJobLevel1(), _LocalGetJobLevel2(), _LocalOpenPrinterHandle(), LocalGetJob(), LocalScheduleJob(), LocalSetJob(), main(), and ReadJobShadowFile().
PSKIPLIST_NODE LookupNodeByIndexSkiplist | ( | PSKIPLIST | Skiplist, |
DWORD | ElementIndex | ||
) |
Definition at line 412 of file skiplist.c.
Referenced by LocalEnumJobs(), and main().