00001 /*
00002 * Copyright (C) 2003-2004 by Objective Systems, Inc.
00003 *
00004 * This software is furnished under a license and may be used and copied
00005 * only in accordance with the terms of such license and with the
00006 * inclusion of the above copyright notice. This software or any other
00007 * copies thereof may not be provided or otherwise made available to any
00008 * other person. No title to and ownership of the software is hereby
00009 * transferred.
00010 *
00011 * The information in this software is subject to change without notice
00012 * and should not be construed as a commitment by Objective Systems, Inc.
00013 *
00014 * PROPRIETARY NOTICE
00015 *
00016 * This software is an unpublished work subject to a confidentiality agreement
00017 * and is protected by copyright and trade secret law. Unauthorized copying,
00018 * redistribution or other use of this work is prohibited.
00019 *
00020 * The above notice of copyright on this source code product does not indicate
00021 * any actual or intended publication of such source code.
00022 *
00023 *****************************************************************************/
00024
00028 #ifndef _RTXSLIST_H_
00029 #define _RTXSLIST_H_
00030
00031 #include "rtxsrc/rtxCommon.h"
00032
00055typedefstruct _OSRTSListNode {
00056void* data;
00057struct _OSRTSListNode* next;
00058 } OSRTSListNode;
00059
00060 struct OSCTXT;
00061
00068typedefstruct _OSRTSList {
00069 OSUINT32 count;
00070OSRTSListNode* head;
00071OSRTSListNode* tail;
00072 struct OSCTXT* pctxt;
00073 } OSRTSList;
00074
00075 #ifdef __cplusplus
00076 extern"C" {
00077 #endif
00078
00085 EXTERNRTX voidrtxSListInit (OSRTSList* pList);
00086
00098 EXTERNRTX voidrtxSListInitEx (OSCTXT* pctxt, OSRTSList* pList);
00099
00108 EXTERNRTX voidrtxSListFree (OSRTSList* pList);
00109
00116 EXTERNRTX OSRTSList* rtxSListCreate (void);
00117
00129 EXTERNRTX OSRTSList* rtxSListCreateEx (OSCTXT* pctxt);
00130
00141 EXTERNRTX OSRTSListNode* rtxSListAppend (OSRTSList* pList, void* pData);
00142
00154 EXTERNRTX OSBOOL rtxSListFind (OSRTSList* pList, void* pData);
00155
00165 EXTERNRTX voidrtxSListRemove (OSRTSList* pList, void* pData);
00166
00171 #define OSALLOCELEMSNODE(pctxt,type) \
00172 (type*) (((char*)OSMALLOCZ (pctxt, sizeof(type) + \
00173 sizeof(OSRTSListNode))) + sizeof(OSRTSListNode))
00174
00175
00176 #ifdef __cplusplus
00177 }
00178 #endif
00179
00180 #endif
This file was last modified on
1 Jun 2004. XBinder, Version 1.0.0