Return Type | Function name | Arguments |
---|---|---|
hzEcode | ReadSerialUINT32 | (unsigned int&,unsigned int&,const unsigned char*,) |
Declared in file: hzCodec.h
Defined in file : hzCodec.cpp
Function Logic:
Function body:
hzEcode ReadSerialUINT32 (unsigned int& nValue, unsigned int& nLen, const unsigned char* ptr) { if (!ptr) return hzerr(E_ARGUMENT, "No length indicator supplied") ; if (*ptr & 0x80) { switch (*ptr & 0xE0) { case 0x80: nValue = ((ptr[0]& 0x1f)<<8); nValue += ptr[1]; nLen = 2; break ; case 0xA0: nValue += ((ptr[1]<< 8)+ ptr[2]); nLen = 3; break ; case 0xC0: nValue += ((ptr[1]<< 16)+(ptr[2]<< 8)+ ptr[3]); nLen = 4; break ; case 0xE0: _endian_import4(nValue, ptr + 1); nLen = 5; break ; } } else { nLen = 1; nValue = *ptr & 0x7f; } return E_OK ; }