Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*****************************************************************************
* * * LL.H * * * * Copyright (C) Microsoft Corporation 1989. * * All Rights reserved. * * * ****************************************************************************** * * * Program Description: Exports link list functions * * * ****************************************************************************** * * * Revision History: * * * * * ****************************************************************************** * * * Known Bugs: None * * * * * * * *****************************************************************************/
/*****************************************************************************
* * * Defines * * * *****************************************************************************/
#define nilHAND (HANDLE)NULL
#define nilLL nilHAND
#define nilHLLN nilHAND
/*****************************************************************************
* * * Typedefs * * * *****************************************************************************/
typedef HANDLE LL; typedef HANDLE HLLN;
/*******************
** ** Name: LLCreate ** ** Purpose: Creates a link list ** ** Arguments: None. ** ** Returns: Link list. nilLL is returned if an error occurred. ** *******************/
LL FAR APIENTRY LLCreate(VOID);
/*******************
** ** Name: InsertLL ** ** Purpose: Inserts a new node at the head of the linked list ** ** Arguments: ll - link list ** vpData - pointer to data to be associated with ** c - count of the bytes pointed to by vpData ** ** Returns: TRUE iff insertion is successful. ** *******************/
BOOL FAR APIENTRY InsertLL(LL, VOID FAR *, LONG);
/*******************
** ** Name: WalkLL ** ** Purpose: Mechanism for walking the nodes in the linked list ** ** Arguments: ll - linked list ** hlln - handle to a linked list node ** ** Returns: a handle to a link list node or NIL_HLLN if at the ** end of the list (or an error). ** ** Notes: To get the first node, pass NIL_HLLN as the hlln - further ** calls should use the HLLN returned by this function. ** *******************/
HLLN FAR APIENTRY WalkLL(LL, HLLN);
/*******************
** ** Name: QVLockHLLN ** ** Purpose: Locks a LL node returning a pointer to the data ** ** Arguments: hlln - handle to a linked list node ** ** Returns: pointer to data or NULL if an error occurred ** *******************/
VOID FAR * FAR QVLockHLLN(HLLN);
/*******************
** ** Name: QVUnlockHLLN ** ** Purpose: Unlocks a LL node ** ** Arguments: hlln - handle to a link list node ** ** Returns: TRUE iff the handle is successfully locked. ** *******************/
VOID FAR UnlockHLLN(HLLN);
/*******************
** ** Name: DestroyLL ** ** Purpose: Deletes a LL and all of its contents ** ** Arguments: ll - linked list ** ** Returns: Nothing. ** *******************/
VOID FAR APIENTRY DestroyLL(LL);
|