| 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 ;
}