88 lines
2.5 KiB
C
88 lines
2.5 KiB
C
/* setLib.h - header file for Wind Object Sets */
|
|
|
|
/* Copyright 1984-2002 Wind River Systems, Inc. */
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01f,12dec02,dat node is a tuple, not a single
|
|
01e,14oct02,dat 5.X compatibility
|
|
01d,18apr01,cjj mods for FHA 1.0 code inspection
|
|
01c,27nov00,cjj moved OBJ_SET definition to setLibP.h
|
|
01b,14jul99,mas added define of SET_BAD for DMS.
|
|
01a,04aug98,mas original version. TOR 1.0.1/VXW 5.3 compliant.
|
|
*/
|
|
|
|
/*
|
|
DESCRIPTION
|
|
This file contains the public configuration parameters and macros for the Wind
|
|
Object Set library.
|
|
|
|
A set is an object containing a collection of objects with no implied order
|
|
although application-specific ordering may be enforced through other libraries.
|
|
A set may have any number of objects. A set may contain other sets. A set
|
|
with no objects is a null set. Sets have no size restrictions other than
|
|
available memory.
|
|
|
|
Objects are referenced by a set, never included directly. This allows objects
|
|
to be independent of set implementation and target architecture variations.
|
|
*/
|
|
|
|
#ifndef INCsetLibh
|
|
#define INCsetLibh
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes */
|
|
|
|
#include "vxWorks.h"
|
|
#include "vwModNum.h"
|
|
#include "objLib.h" /* The set itself is an object */
|
|
#include "semLib.h"
|
|
#include "lstLib.h"
|
|
|
|
/* defines */
|
|
|
|
/* status codes */
|
|
|
|
#define S_setLib_LIB_INIT (M_setLib | 1) /* set lib already initialized*/
|
|
#define S_setLib_LIB_NOT_INIT (M_setLib | 2) /* set lib not initialized */
|
|
#define S_setLib_ARG_NOT_VALID (M_setLib | 3) /* invalid input arg(s) */
|
|
#define S_setLib_OBJ_NOT_IN_SET (M_setLib | 4) /* obj not from given set */
|
|
|
|
/* Typedefs */
|
|
|
|
typedef struct setObj * SET_ID;
|
|
typedef void * SET_ITEM;
|
|
|
|
|
|
/* Function Prototypes */
|
|
|
|
STATUS setLibInit (void);
|
|
SET_ID setCreate (void);
|
|
|
|
STATUS setInit (SET_ID setId);
|
|
STATUS setDelete (SET_ID setId);
|
|
STATUS setDestroy (SET_ID setId, BOOL dealloc);
|
|
SET_ID setDuplicate (SET_ID setId);
|
|
STATUS setTerminate (SET_ID setId);
|
|
STATUS setItemAdd (SET_ID setId, SET_ITEM itemId);
|
|
STATUS setItemDelete (SET_ID setId, SET_ITEM itemId);
|
|
SET_ITEM setItemFirst (SET_ID setId);
|
|
SET_ITEM setItemLast (SET_ID setId);
|
|
SET_ITEM setItemNext (SET_ID setId);
|
|
SET_ITEM setItemPrev (SET_ID setId);
|
|
STATUS setItemEach (SET_ID setId, STATUS (*pFunc)(SET_ITEM,int), int arg);
|
|
STATUS setLock (SET_ID setId, int semWait);
|
|
STATUS setUnlock (SET_ID setId);
|
|
ULONG setSize (SET_ID setId);
|
|
BOOL setIsNull (SET_ID setId);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* INCsetLibh */
|