81 lines
1.8 KiB
C
81 lines
1.8 KiB
C
/****************************************************************************
|
|
*
|
|
* $Archive: S:/STURGEON/SRC/INCLUDE/VCS/list.h_v $
|
|
*
|
|
* INTEL Corporation Prorietary Information
|
|
*
|
|
* This listing is supplied under the terms of a license agreement
|
|
* with INTEL Corporation and may not be copied nor disclosed except
|
|
* in accordance with the terms of that agreement.
|
|
*
|
|
* Copyright (c) 1993-1994 Intel Corporation.
|
|
*
|
|
* $Revision: 1.1 $
|
|
* $Date: 22 Jul 1996 09:45:08 $
|
|
* $Author: RKUHN $
|
|
*
|
|
* Deliverable: msm.dll
|
|
*
|
|
* Abstract: Media Service Manager "windows app code" header file.
|
|
*
|
|
* Notes:
|
|
*
|
|
***************************************************************************/
|
|
|
|
#ifndef LIST_H
|
|
#define LIST_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" { // Assume C Declarations for C++.
|
|
#endif // __cplusplus
|
|
|
|
|
|
#define LISTTIMEOUT 2000
|
|
|
|
typedef struct _LISTNODE
|
|
{
|
|
struct _LISTNODE *pPrev;
|
|
struct _LISTNODE *pNext;
|
|
LPVOID pObject;
|
|
}
|
|
LISTNODE, *LPLISTNODE;
|
|
|
|
|
|
typedef struct _LIST
|
|
{
|
|
LPLISTNODE pHead;
|
|
LPLISTNODE pTail;
|
|
UINT uCount;
|
|
CRITICAL_SECTION csList;
|
|
}
|
|
LIST, *LPLIST;
|
|
|
|
|
|
BOOL LIST_Create (LPLIST);
|
|
BOOL LIST_Destroy (LPLIST);
|
|
|
|
LPLISTNODE LIST_AddHead (LPLIST, LPVOID);
|
|
LPLISTNODE LIST_AddTail (LPLIST, LPVOID);
|
|
LPLISTNODE LIST_AddNode (LPLIST, LPLISTNODE, LPVOID);
|
|
|
|
LPVOID LIST_RemoveHead (LPLIST);
|
|
LPVOID LIST_RemoveTail (LPLIST);
|
|
LPVOID LIST_RemoveAt (LPLIST, LPLISTNODE);
|
|
void LIST_RemoveAll (LPLIST);
|
|
|
|
LPLISTNODE LIST_GetHeadNode (LPLIST);
|
|
LPLISTNODE LIST_GetTailNode (LPLIST);
|
|
LPVOID LIST_GetNext (LPLIST, LPLISTNODE*);
|
|
LPVOID LIST_GetPrev (LPLIST, LPLISTNODE*);
|
|
LPVOID LIST_GetAt (LPLIST, LPLISTNODE);
|
|
|
|
UINT LIST_GetCount (LPLIST);
|
|
|
|
LPLISTNODE LIST_Find (LPLIST, LPLISTNODE, LPVOID);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // __cplusplus
|
|
|
|
#endif // LIST_H
|