3 * Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 char * convert_to_ascii(char *buf
, int c
, int num
);
26 char * convert_i64_to_ascii(char *buf
, int c
, unsigned long long num
);
29 void delay(unsigned msec
);
32 ///////////////////////////////////////////////////////////////////////////////////////
36 ///////////////////////////////////////////////////////////////////////////////////////
38 typedef struct _LIST_ITEM
40 struct _LIST_ITEM
* ListPrev
;
41 struct _LIST_ITEM
* ListNext
;
43 } LIST_ITEM
, *PLIST_ITEM
;
45 VOID
RtlListInitializeHead(PLIST_ITEM ListHead
); // Initializes a doubly linked list
46 VOID
RtlListInsertHead(PLIST_ITEM ListHead
, PLIST_ITEM Entry
); // Inserts an entry at the head of the list
47 VOID
RtlListInsertTail(PLIST_ITEM ListHead
, PLIST_ITEM Entry
); // Inserts an entry at the tail of the list
48 PLIST_ITEM
RtlListRemoveHead(PLIST_ITEM ListHead
); // Removes the entry at the head of the list
49 PLIST_ITEM
RtlListRemoveTail(PLIST_ITEM ListHead
); // Removes the entry at the tail of the list
50 PLIST_ITEM
RtlListGetHead(PLIST_ITEM ListHead
); // Returns the entry at the head of the list
51 PLIST_ITEM
RtlListGetTail(PLIST_ITEM ListHead
); // Returns the entry at the tail of the list
52 BOOLEAN
RtlListIsEmpty(PLIST_ITEM ListHead
); // Indicates whether a doubly linked list is empty
53 ULONG
RtlListCountEntries(PLIST_ITEM ListHead
); // Counts the entries in a doubly linked list
54 PLIST_ITEM
RtlListGetPrevious(PLIST_ITEM ListEntry
); // Returns the previous item in the list
55 PLIST_ITEM
RtlListGetNext(PLIST_ITEM ListEntry
); // Returns the next item in the list
56 PLIST_ITEM
RtlListRemoveEntry(PLIST_ITEM ListEntry
); // Removes the entry from the list
57 VOID
RtlListInsertEntry(PLIST_ITEM InsertAfter
, PLIST_ITEM ListEntry
); // Inserts a new list entry right after the specified one
58 VOID
RtlListMoveEntryPrevious(PLIST_ITEM ListEntry
); // Moves the list entry to before the previous entry
59 VOID
RtlListMoveEntryNext(PLIST_ITEM ListEntry
); // Moves the list entry to after the next entry
62 #endif // defined __STDLIB_H