Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | Related Pages

get.h

00001 /*
00002  *  libFreiburg - src/LibFreiburg/include/msgque/get.h
00003  *  
00004  *  (C) 2004 - Freiburg - Project - Group
00005  *  ------------------------------------------------------
00006  *  EMail: freiburg AT compiler-factory DOT de
00007  *  ------------------------------------------------------
00008  *  all rights reserved
00009  */
00010 
00028 #ifndef MQ_GET_H
00029 #define MQ_GET_H
00030 
00031 /*****************************************************************************/
00032 /*                                                                           */
00033 /*                                get_basic                                  */
00034 /*                                                                           */
00035 /*****************************************************************************/
00036 
00038 #define MqGetError(expr,buf) \
00039     if ((expr) && MqErrorGetStatus(buf->error) == MQ_ERROR) goto error
00040 
00042 MQ_EXTERN MQ_INT2 MqGet2F (
00043   MqBufferSP const buf,
00044   const MQ_SIZE size
00045 );
00046 
00048 #define MqGet2(buf,size) (buf->type == _MQ_BIN || buf->type == _MQ_INT2 ? *buf->cur.I2 : MqGet2F(buf,size))
00049 
00051 #define MqGet2Error(buf,size,ret)           MqGetError((ret=MqGet2(buf,size))==MQ_NULL_2,buf)
00052 
00054 MQ_EXTERN MQ_UINT2 MqGetU2 (
00055   MqBufferSP const buf,
00056   const MQ_SIZE size
00057 );
00058 
00060 #define MqGetU2Error(buf,size,ret) MqGetError((ret=MqGetU2(buf,size))==MQ_NULL_U2,buf)
00061 
00063 MQ_EXTERN MQ_INT4 MqGet4F (
00064   MqBufferSP const buf,
00065   const MQ_SIZE size
00066 );
00067 
00069 #define MqGet4T(type,buf,size) (type == _MQ_BIN || type == _MQ_INT4 ? *buf->cur.I4 : MqGet4F(buf,size))
00070 
00072 #define MqGet4(buf,size) MqGet4T(buf->type,buf,size)
00073 
00075 #define MqGet4Error(buf,size,ret) MqGetError((ret=MqGet4(buf,size))==MQ_NULL_4,buf)
00076 
00078 #define MqGet4TError(type,buf,size,ret) MqGetError((ret=MqGet4T(type,buf,size))==MQ_NULL_4,buf)
00079 
00081 MQ_EXTERN MQ_INT8 MqGet8F (
00082   MqBufferSP const buf,
00083   const MQ_SIZE size
00084 );
00085 
00087 #define MqGet8(buf,size) (buf->type == _MQ_BIN || buf->type == _MQ_INT8 ? *buf->cur.I8 : MqGet8F(buf,size))
00088 
00090 #define MqGet8Error(buf,size,ret) MqGetError((ret=MqGet8(buf,size))==MQ_NULL_8,buf)
00091 
00093 MQ_EXTERN MQ_FLT4 MqGetFF (
00094   MqBufferSP const buf,
00095   const MQ_SIZE size
00096 );
00097 
00099 #define MqGetF(buf,size) (buf->type == _MQ_BIN || buf->type == _MQ_FLT4 ? *buf->cur.F : MqGetFF(buf,size))
00100 
00102 #define MqGetFError(buf,size,ret) MqGetError((ret=MqGetF(buf,size))==MQ_NULL_F,buf)
00103 
00105 MQ_EXTERN MQ_FLT8 MqGetDF (
00106   MqBufferSP const buf,
00107   const MQ_SIZE size
00108 );
00109 
00111 #define MqGetD(buf,size) (buf->type == _MQ_BIN || buf->type == _MQ_FLT8 ? *buf->cur.D : MqGetDF(buf,size))
00112 
00114 #define MqGetDError(buf,size,ret) MqGetError((ret=MqGetD(buf,size))==MQ_NULL_D,buf)
00115 
00117 MQ_EXTERN MQ_PTR MqGetPF (
00118   MqBufferSP const buf,
00119   const MQ_SIZE size
00120 );
00121 
00123 #define MqGetPT(type,buf,size) (type == _MQ_BIN || type == _MQ_PTR ? *buf->cur.P : MqGetPF(buf,size))
00124 
00126 #define MqGetP(buf,size) MqGetPT(buf->type,buf,size)
00127 
00129 #define MqGetPError(buf,size,ret) MqGetError((ret=MqGetP(buf,size))==MQ_NULL_P,buf)
00130 
00132 #define MqGetPTError(type,buf,size,ret) MqGetError((ret=MqGetPT(type,buf,size))==MQ_NULL_P,buf)
00133 
00136 MQ_EXTERN MQ_STR MqGetC (
00137   MqBufferSP const buf,
00138   const int size
00139 );
00140 
00143 #define MqGetCError(buf,size,ret) MqGetError((ret=MqGetC(buf,size))==MQ_NULL_C,buf)
00144 
00147 #endif /* MQ_GET_H */

Generated on Tue Nov 23 16:13:06 2004 for libFreiburg by  doxygen 1.3.8-20040928