67 #ifndef _CL_CLIST_API_H_
68 #define _CL_CLIST_API_H_
164 CL_IN void* userArg);
570 CL_IN void* userArg);
Typical defines found in any software project.
ClPtrT ClClistNodeT
The type of the handle for the circular node.
Definition: clClistApi.h:88
ClClistDropPolicyT
link list with x nodes.
Definition: clClistApi.h:100
ClRcT clClistPreviousNodeGet(CL_IN ClClistT listHead, CL_IN ClClistNodeT currentNode, CL_OUT ClClistNodeT *pPreviousNode)
Returns next node from the list.
ClRcT clClistLastNodeGet(CL_IN ClClistT listHead, CL_OUT ClClistNodeT *pLastNode)
Returns last node from the list.
ClRcT clClistNextNodeGet(CL_IN ClClistT listHead, CL_IN ClClistNodeT currentNode, CL_OUT ClClistNodeT *pNextNode)
Returns next node from the list.
ClRcT clClistAfterNodeAdd(CL_IN ClClistT listHead, CL_IN ClClistNodeT currentNode, CL_IN ClClistDataT userData)
Adds a node after a specified node in the list.
ClRcT clClistNodeDelete(CL_IN ClClistT listHead, CL_IN ClClistNodeT node)
Deletes a node from the list.
ClRcT clClistDataGet(CL_IN ClClistT listHead, CL_IN ClClistNodeT node, CL_OUT ClClistDataT *pUserData)
Retrieves data from a node in the list.
ClPtrT ClClistT
The type of the handle for the circular list.
Definition: clClistApi.h:83
ClRcT clClistSizeGet(CL_IN ClClistT listHead, CL_OUT ClUint32T *pSize)
Returns number of data elements (nodes) in the list.
ClRcT clClistBeforeNodeAdd(CL_IN ClClistT listHead, CL_IN ClClistNodeT currentNode, CL_IN ClClistDataT userData)
Adds a node before a specified node in the list.
ClRcT clClistWalk(CL_IN ClClistT listHead, CL_IN ClClistWalkCallbackT fpUserWalkCallBack, CL_IN void *userArg)
Walks through the list.
void(* ClClistDeleteCallbackT)(CL_IN ClClistDataT userData)
Delete callback gets called, whenever a Node is getting deleted.
Definition: clClistApi.h:137
ClPtrT ClClistDataT
The type of the handle for the user-data.
Definition: clClistApi.h:93
ClRcT clClistDelete(CL_IN ClClistT *pListHead)
Destroys the list.
ClRcT clClistCreate(CL_IN ClUint32T maxSize, CL_IN ClClistDropPolicyT dropPolicy, CL_IN ClClistDeleteCallbackT fpUserDeleteCallBack, CL_IN ClClistDeleteCallbackT fpUserDestroyCallBack, CL_OUT ClClistT *pListHead)
Creates a Circular Linked List.
ClRcT(* ClClistWalkCallbackT)(CL_IN ClClistDataT userData, CL_IN void *userArg)
Walk Callback gets called, whenever traverse happens on the Circular linked list.
Definition: clClistApi.h:163
ClRcT clClistFirstNodeAdd(CL_IN ClClistT listHead, CL_IN ClClistDataT userData)
Adds a node at the beginning of the list.
ClRcT clClistFirstNodeGet(CL_IN ClClistT listHead, CL_IN ClClistNodeT *pFirstNode)
Returns the first node from the list.
ClRcT clClistLastNodeAdd(CL_IN ClClistT listHead, CL_IN ClClistDataT userData)
Adds a node at the end of the list.
@ CL_NO_DROP
If the first node not to be dropped even if the list is full.
Definition: clClistApi.h:104
@ CL_DROP_FIRST
Drops the first node if the list is full.
Definition: clClistApi.h:108
@ CL_DROP_MAX_TYPE
Adds a new drop policy types before this.
Definition: clClistApi.h:112
ClUint32T ClRcT
Clovis return code type.
Definition: clCommon.h:168
#define CL_OUT
CL_OUT macro assists in clearly defining arguments of an API, but has no actual meaning.
Definition: clCommon.h:110
#define CL_IN
CL_IN macro assists in clearly defining arguments of an API, but has no actual meaning.
Definition: clCommon.h:106