49 #ifndef _NMLIBINTERNAL_H 50 #define _NMLIBINTERNAL_H 55 #include "rnr/rnrconfig.h" 66 #ifdef NMLIB_DEBUG_ENABLE // debugging compile in/out switch 67 #define NMLIB_DEBUG(fmt, ...) \ 68 fprintf(stderr, "DEBUG: %s[%u]: %s(): " fmt, \ 69 __FILE__, __LINE__, LOGFUNCNAME, ##__VA_ARGS__) 71 #define NMLIB_DEBUG(fmt, ...) 72 #endif // NMLIB_DEBUG_ENABLE 80 #define NMLIB_WARNING(fmt, ...) \ 81 LOGDIAG1("Warning: " fmt, ##__VA_ARGS__) 90 #define NMLIB_FIELD_WARNING(p, fmt, ...) \ 92 NMLIB_WARNING("%s(%u): " fmt, (p)->m_sFName, (p)->m_eFId, ##__VA_ARGS__): \ 93 NMLIB_WARNING(fmt, ##__VA_ARGS__)) 102 #define NMLIB_ERROR(ecode, fmt, ...) \ 103 LOGERROR("%s(ecode=%d): " fmt, \ 104 nmStrError(ecode), (ecode>=0? ecode: -ecode), ##__VA_ARGS__) 113 #define NMLIB_RAISE_ERROR(ecode, fmt, ...) \ 116 NMLIB_ERROR(ecode, fmt, ##__VA_ARGS__); \ 117 return ecode>0? -ecode: ecode; \ 130 #define NMLIB_FIELD_ERROR(ecode, p, fmt, ...) \ 135 NMLIB_ERROR(ecode, "%s(%u): " fmt, \ 136 (p)->m_sFName, (p)->m_eFId, ##__VA_ARGS__); \ 140 NMLIB_ERROR(ecode, fmt, ##__VA_ARGS__); \ 154 #define NMLIB_RAISE_FIELD_ERROR(ecode, p, fmt, ...) \ 157 NMLIB_FIELD_ERROR(ecode, p, fmt, ##__VA_ARGS__); \ 158 return ecode>0? -ecode: ecode; \ 166 #define NMLIB_ASCII_FTYPE(ftype) (isgraph((int)ftype)? ftype: ' ') 183 #define NMCTL_INIT_DECL {false, false, false, 0} 195 #ifdef NMLIB_DEBUG_ENABLE 196 #define NMLIB_TRACE_FIELD(p, buf, n, ctl, fmt, ...) \ 199 if( ((n) >= 0) && ((ctl)->m_bTrace) ) \ 201 nmTraceField(p, (byte_t *)buf, (size_t)n, \ 202 (uint_t)(ctl)->m_uDepth, \ 203 fmt, ##__VA_ARGS__); \ 207 #define NMLIB_TRACE_FIELD(p, buf, n, ctl, fmt, ...) 208 #endif // NMLIB_DEBUG_ENABLE 230 if( LOGABLE(LOG_LEVEL_DIAG4) )
279 signed char *pValOut);
299 ulonglong_t *pValOut);
313 #ifdef NMLIB_DEBUG_ENABLE 320 #endif // NMLIB_DEBUG_ENABLE 323 #endif // _NMLIBINTERNAL_H byte_t m_bNoHdr
do [not] include field header in byte stream
const size_t NMHashNumEntries
byte_t m_uDepth
structured message depth
int nmSetF64(const NMFieldDef_T *pFieldDef, void *pValIn, double *pValOut)
Helper function to set a 64-bit floating point number.
byte_t m_bTrace
do [not] trace packing/unpacking
int nmSetS8(const NMFieldDef_T *pFieldDef, void *pValIn, signed char *pValOut)
Helper function to set a signed 8-bit integer.
int nmSetU32(const NMFieldDef_T *pFieldDef, void *pValIn, uint_t *pValOut)
Helper function to set an unsigned 32-bit integer.
int(* NMUnpackFunc_T)(const NMFieldDef_T *, byte_t[], size_t, void *, NMEndian_T, NMCtl_T *)
int nmSetS16(const NMFieldDef_T *pFieldDef, void *pValIn, short *pValOut)
Helper function to set a signed 16-bit integer.
byte_t m_bNoExec
do [not] execute assignment of value
const int NMHashNoIdx
hash no index value
int nmSetU8(const NMFieldDef_T *pFieldDef, void *pValIn, byte_t *pValOut)
Helper function to set an unsigned 8-bit integer.
int(* NMPackFunc_T)(const NMFieldDef_T *, void *, byte_t[], size_t, NMEndian_T, NMCtl_T *)
int nmSetS32(const NMFieldDef_T *pFieldDef, void *pValIn, int *pValOut)
Helper function to set a signed 32-bit integer.
void nmTraceField(const NMFieldDef_T *pFieldDef, byte_t buf[], size_t uCount, uint_t uDepth, const char *sFmt,...)
Trace packing/unpacking of a message field.
int nmSetU64(const NMFieldDef_T *pFieldDef, void *pValIn, ulonglong_t *pValOut)
Helper function to set an unsigned 64-bit integer.
const int NMHashOffset
hash base offset
int nmSetF32(const NMFieldDef_T *pFieldDef, void *pValIn, float *pValOut)
Helper function to set a 32-bit floating point number.
uint_t m_eFType
message field type
int nmSetU16(const NMFieldDef_T *pFieldDef, void *pValIn, ushort_t *pValOut)
Helper function to set an unsigned 16-bit integer.
INLINE_IN_H int NMHashFType(NMFType_T eFType)
Field Type to Index hash function.
#define NMLIB_ASCII_FTYPE(ftype)
Printable ASCII Field Type.
Network Messaging declarations.
int nmSetS64(const NMFieldDef_T *pFieldDef, void *pValIn, long long *pValOut)
Helper function to set a signed 64-bit integer.
Internal Control Structure.
NMPackFunc_T m_fnPack
packer
NMUnpackFunc_T m_fnUnpack
unpacker