libHartwer - Documentation

bcs_ipcqueue.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (c) 2008-2011 Marius Zwicker / Elefant Racing Bayreuth. 
00003 * All rights reserved.
00004 *
00005 * @ERB_OPEN_LICENSE_HEADER_START@
00006 *
00007 * Licensed under the Apache License, Version 2.0 (the "License");
00008 * you may not use this file except in compliance with the License.
00009 * You may obtain a copy of the License at
00010 * 
00011 *     http://www.apache.org/licenses/LICENSE-2.0
00012 * 
00013 * Unless required by applicable law or agreed to in writing, software
00014 * distributed under the License is distributed on an "AS IS" BASIS,
00015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00016 * See the License for the specific language governing permissions and
00017 * limitations under the License.
00018 *
00019 *      http://www.elefantracing.de
00020 *
00021 * @ERB_OPEN_LICENSE_HEADER_END@
00022 */
00023 
00047 #ifndef BCS_IPCQUEUE_H_
00048 #define BCS_IPCQUEUE_H_
00049 
00050 #ifdef __cplusplus
00051 extern "C" {
00052 #endif
00053 
00054 #include "bcs_general.h"
00055        
00056 #define BCS_Q_MAXSIZE 4000
00057 
00058 #ifndef BCS_Q_FLAG_ENUM
00059 #define BCS_Q_FLAG_ENUM
00060 
00063 typedef enum {
00064        BCS_Q_NONE, 
00065        BCS_Q_NOWAIT 
00066 } BCS_Q_Flag;
00067 #endif
00068        
00079 #define BCS_Q_getQueue(q, id, datatype ) _BCS_Q_getQueue(q, id, sizeof(datatype))
00080 
00081 /*
00082  * Please do not use this
00083  */
00084 BCS_ERROR _BCS_Q_getQueue(BCS_Queue* q, UInt32 id, UInt16 msg_size);
00085 
00089 BCS_ERROR BCS_Q_deleteQueue(BCS_Queue* q);
00090        
00091 
00096 BCS_ERROR BCS_Q_forceUnlock(UInt32 id);
00097 
00103 BCS_ERROR BCS_Q_postMessage(BCS_Queue* q, void* m, BCS_Q_Flag f);
00104 
00118 BCS_ERROR BCS_Q_getMessage(BCS_Queue* q, void* m, Int32 id, BCS_Q_Flag f);
00119 
00120 
00121 #ifdef __cplusplus
00122 }
00123 #endif
00124 
00125 #ifdef USE_POSIX_QUEUE
00126 /* Says that ipc queue was compiled using the posix implemenetation*/
00127 #define IPCQUEUE_HAS_POSIX
00128 #endif
00129 
00130 #endif /* BCS_IPCQUEUE_H_ */

Generated on Fri Feb 11 2011 18:25:46 for libHartwer by Doxygen 1.7.3
Content © 2009-2011 Elefant Racing Bayreuth & MLBA (About) – Design © 2010 Emzeat. All Rights reserved.