Objective Systems, Inc.  
Home
About ASN.1
Products
Free Software
Documents
Services
Resources
Resellers
Customers
Careers
About Us
Contact Us
 

Google


Objective Systems, Inc.

rtxSList.h

Go to the documentation of this file.
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 
00055 typedef struct _OSRTSListNode {
00056    void* data;                     
00057    struct _OSRTSListNode* next;  
00058 } OSRTSListNode;                   
00059 
00060 struct OSCTXT;
00061 
00068 typedef struct _OSRTSList {
00069    OSUINT32 count;              
00070    OSRTSListNode* head;         
00071    OSRTSListNode* tail;         
00072    struct OSCTXT* pctxt;
00073 } OSRTSList;
00074 
00075 #ifdef __cplusplus
00076 extern "C" {
00077 #endif
00078 
00085 EXTERNRTX void  rtxSListInit (OSRTSList* pList);
00086 
00098 EXTERNRTX void  rtxSListInitEx (OSCTXT* pctxt, OSRTSList* pList);
00099 
00108 EXTERNRTX void  rtxSListFree (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 void rtxSListRemove (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