dnxQueue.h

Go to the documentation of this file.
00001 /*--------------------------------------------------------------------------
00002  
00003    Copyright (c) 2006-2010, Intellectual Reserve, Inc. All rights reserved.
00004  
00005    This program is free software; you can redistribute it and/or modify
00006    it under the terms of the GNU General Public License version 2 as 
00007    published by the Free Software Foundation.
00008  
00009    This program is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012    GNU General Public License for more details.
00013  
00014    You should have received a copy of the GNU General Public License
00015    along with this program; if not, write to the Free Software
00016    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017  
00018   --------------------------------------------------------------------------*/
00019 
00028 #ifndef _DNXQUEUE_H_
00029 #define _DNXQUEUE_H_
00030 
00031 typedef enum DnxQueueResult_
00032 { 
00033    DNX_QRES_CONTINUE = 0,
00034    DNX_QRES_FOUND,
00035    DNX_QRES_EXIT,
00036    DNX_QRES_ERROR
00037 } DnxQueueResult;
00038 
00040 typedef struct { int unused; } DnxQueue;
00041 
00051 int dnxQueuePut(DnxQueue * queue, void * pPayload);
00052 
00065 int dnxQueueGet(DnxQueue * queue, void ** ppPayload);
00066 
00081 int dnxQueueGetWait(DnxQueue * queue, unsigned timeout, void ** ppPayload);
00082 
00098 DnxQueueResult dnxQueueRemove(DnxQueue * queue, void ** ppPayload, 
00099       DnxQueueResult (*Compare)(void * pLeft, void * pRight));
00100 
00116 DnxQueueResult dnxQueueFind(DnxQueue * queue, void ** ppPayload, 
00117       DnxQueueResult (*Compare)(void * pLeft, void * pRight));
00118 
00131 int dnxQueueCreate(unsigned maxsz, void (*pldtor)(void *), DnxQueue ** pqueue);
00132 
00139 void dnxQueueDestroy(DnxQueue * queue);
00140 
00141 #endif   /* _DNXQUEUE_H_ */
00142 

Generated on Tue Apr 13 15:48:07 2010 for DNX by  doxygen 1.5.6