00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00026 #ifndef MQ_OPTION_H
00027 #define MQ_OPTION_H
00028
00030 typedef struct MqOptionS *MqOptionSP;
00031
00037 typedef union MqOptionU {
00038 MqBufferS S;
00039 MQ_FLT8 D;
00040 MQ_INT4 I;
00041 MQ_UINT2 B;
00042 } MqOptionU;
00043
00049 typedef struct MqOptionS {
00050 const MQ_STR Name;
00051 const MQ_INT2 Index;
00052 const enum { B, I, D, S } Type;
00053 const MqOptionU Default;
00054 } MqOptionS;
00055
00057 MQ_EXTERN MqErrorE MqOptGet (
00058 MqSP const msgque,
00059 const MqOptionS *const pFlag,
00060 const MQ_SIZE Len,
00061 MqOptionUP const pDef,
00062 MqOptionUP *out
00063 );
00064
00066 MQ_EXTERN MqOptionUP MqOptDefault (
00067 MqErrorSP const error,
00068 const MqOptionS *pFlag,
00069 const MQ_SIZE Len
00070 );
00071
00073 MQ_EXTERN void MqOptFree (
00074 MqErrorSP const error,
00075 const MqOptionS optionS[],
00076 const MQ_SIZE optlen,
00077 MqOptionUP *optionPtr
00078 );
00079
00082 #endif