31 #include "rtxsrc/osSysTypes.h" 32 #include "rtxsrc/rtxExternDefs.h" 33 #include "rtxsrc/rtxCommonDefs.h" 83 #define DLISTBUF_SEG 16 88 OSUTF8CHAR utf8chars[1];
349 OSSIZE* pElemCount, OSSIZE elemSize);
369 OSSIZE numElements, OSSIZE elemSize);
388 OSSIZE numElements, OSSIZE elemSize);
406 (
struct OSCTXT* pctxt,
OSRTDList* pList, OSUTF8CHAR** ppstr,
char sep);
410 typedef int (*PEqualsFunc) (
const void* a,
const void* b,
411 const void* sortCtxt);
414 (
struct OSCTXT* pctxt,
OSRTDList* pList,
void* pData, PEqualsFunc equalsFunc,
424 #if defined(_MSC_VER) 427 #pragma warning(disable: 4127) 431 #define OSRTDLISTNODESIZE ((sizeof(OSRTDListNode)+7)&(~7)) 433 #define rtxDListAllocNodeAndData(pctxt,type,ppnode,ppdata) do { \ 434 *ppnode = (OSRTDListNode*) \ 435 rtxMemAlloc (pctxt, sizeof(type)+OSRTDLISTNODESIZE); \ 436 if (0 != *ppnode) { \ 437 (*ppnode)->data = (void*)((char*)(*ppnode)+OSRTDLISTNODESIZE); \ 438 *ppdata = (type*)((*ppnode)->data); \ 439 } else { *ppdata = 0; } \ 442 #define rtxDListAppendData(pctxt,pList,pData) do { \ 443 rtxDListAppend(pctxt,pList,pData); \ 448 #define rtxDListFastInit(pList) do { \ 449 if ((pList) != 0) { \ 450 (pList)->head = (pList)->tail = (OSRTDListNode*) 0; \ 451 (pList)->count = 0; } \ 454 #define rtxDListFreeTailNode(pctxt,pList) \ 455 rtxDListFreeNode(pctxt,pList,(pList)->tail) 457 #define rtxDListFreeHeadNode(pctxt,pList) \ 458 rtxDListFreeNode(pctxt,pList,(pList)->head) 463 OSSIZE segSz,
void** ppdata, OSSIZE elemSz);
void rtxDListFreeNodes(struct OSCTXT *pctxt, OSRTDList *pList)
OSRTDListNode * tail
Definition: rtxDList.h:67
OSRTDListNode * head
Definition: rtxDList.h:66
OSRTDListNode * rtxDListInsert(struct OSCTXT *pctxt, OSRTDList *pList, OSSIZE idx, void *pData)
struct OSRTDListNode * next
Definition: rtxDList.h:54
OSRTDListNode * rtxDListFindByIndex(const OSRTDList *pList, OSSIZE idx)
void rtxDListFreeNode(struct OSCTXT *pctxt, OSRTDList *pList, OSRTDListNode *node)
OSRTDListNode * rtxDListFindByData(const OSRTDList *pList, void *data)
void rtxDListInit(OSRTDList *pList)
Definition: rtxDList.h:64
struct OSRTDListNode * prev
Definition: rtxDList.h:55
int rtxDListAppendArray(struct OSCTXT *pctxt, OSRTDList *pList, void *pArray, OSSIZE numElements, OSSIZE elemSize)
void rtxDListFreeAll(struct OSCTXT *pctxt, OSRTDList *pList)
OSRTDListNode * rtxDListAppend(struct OSCTXT *pctxt, OSRTDList *pList, void *pData)
Definition: rtxDList.h:86
OSRTDListNode * rtxDListAppendNode(OSRTDList *pList, OSRTDListNode *pListNode)
int rtxDListAppendArrayCopy(struct OSCTXT *pctxt, OSRTDList *pList, const void *pArray, OSSIZE numElements, OSSIZE elemSize)
int rtxDListToArray(struct OSCTXT *pctxt, OSRTDList *pList, void **ppArray, OSSIZE *pElemCount, OSSIZE elemSize)
Definition: rtxDList.h:52
OSSIZE count
Definition: rtxDList.h:65
OSRTDListNode * rtxDListInsertBefore(struct OSCTXT *pctxt, OSRTDList *pList, OSRTDListNode *node, void *pData)
void rtxDListRemove(OSRTDList *pList, OSRTDListNode *node)
Definition: rtxContext.h:185
Definition: rtxDList.h:72
void * data
Definition: rtxDList.h:53
int rtxDListFindIndexByData(const OSRTDList *pList, void *data)
int rtxDListToUTF8Str(struct OSCTXT *pctxt, OSRTDList *pList, OSUTF8CHAR **ppstr, char sep)
OSRTDListNode * rtxDListAppendCharArray(struct OSCTXT *pctxt, OSRTDList *pList, size_t length, char *pData)
OSRTDListNode * rtxDListInsertAfter(struct OSCTXT *pctxt, OSRTDList *pList, OSRTDListNode *node, void *pData)