lstLib.h
资源名称:ixp425BSP.rar [点击查看]
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:3k
源码类别:
VxWorks
开发平台:
C/C++
- /* lstLib.h - doubly linked list library header */
- /* Copyright 1984-2001 Wind River Systems, Inc. */
- /*
- modification history
- --------------------
- 01n,19sep01,pcm added lstLibInit () (SPR 20698)
- 01m,02apr93,edm ifdef'd out non-ASMLANGUAGE portions
- 01l,22sep92,rrr added support for c++
- 01k,04jul92,jcf cleaned up.
- 01j,26may92,rrr the tree shuffle
- 01i,04oct91,rrr passed through the ansification filter
- -changed VOID to void
- -changed copyright notice
- 01h,23oct90,shl included "vxWorks.h" so include file order isn't crucial.
- 01g,05oct90,shl added ANSI function prototypes.
- made #endif ANSI style.
- added copyright notice.
- 01f,10aug90,dnw added declaration of lstInsert().
- 01e,07aug90,shl added IMPORT type to function declarations.
- 01d,21may86,llk added forward declaration of lstNStep.
- 01c,03jun84,dnw changed list.{head,tail} to list.node.
- added declarations of lst{First,Last,Next,Previous}.
- 01b,27jan84,ecs added inclusion test.
- 01b,15mar83,dnw changed name from lstlb to lstLib
- */
- #ifndef __INClstLibh
- #define __INClstLibh
- #ifndef _ASMLANGUAGE
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "vxWorks.h"
- /* type definitions */
- typedef struct node /* Node of a linked list. */
- {
- struct node *next; /* Points at the next node in the list */
- struct node *previous; /* Points at the previous node in the list */
- } NODE;
- /* HIDDEN */
- typedef struct /* Header for a linked list. */
- {
- NODE node; /* Header list node */
- int count; /* Number of nodes in list */
- } LIST;
- /* END_HIDDEN */
- /* function declarations */
- #if defined(__STDC__) || defined(__cplusplus)
- extern void lstLibInit (void);
- extern NODE * lstFirst (LIST *pList);
- extern NODE * lstGet (LIST *pList);
- extern NODE * lstLast (LIST *pList);
- extern NODE * lstNStep (NODE *pNode, int nStep);
- extern NODE * lstNext (NODE *pNode);
- extern NODE * lstNth (LIST *pList, int nodenum);
- extern NODE * lstPrevious (NODE *pNode);
- extern int lstCount (LIST *pList);
- extern int lstFind (LIST *pList, NODE *pNode);
- extern void lstAdd (LIST *pList, NODE *pNode);
- extern void lstConcat (LIST *pDstList, LIST *pAddList);
- extern void lstDelete (LIST *pList, NODE *pNode);
- extern void lstExtract (LIST *pSrcList, NODE *pStartNode, NODE *pEndNode,
- LIST *pDstList);
- extern void lstFree (LIST *pList);
- extern void lstInit (LIST *pList);
- extern void lstInsert (LIST *pList, NODE *pPrev, NODE *pNode);
- #else /* __STDC__ */
- extern void lstLibInit ();
- extern NODE * lstFirst ();
- extern NODE * lstGet ();
- extern NODE * lstLast ();
- extern NODE * lstNStep ();
- extern NODE * lstNext ();
- extern NODE * lstNth ();
- extern NODE * lstPrevious ();
- extern int lstCount ();
- extern int lstFind ();
- extern void lstAdd ();
- extern void lstConcat ();
- extern void lstDelete ();
- extern void lstExtract ();
- extern void lstFree ();
- extern void lstInit ();
- extern void lstInsert ();
- #endif /* __STDC__ */
- #ifdef __cplusplus
- }
- #endif
- #endif /* ~ _ASMLANGUAGE */
- #endif /* __INClstLibh */