78 #define WS_PUT_UINT8(buf, val)              \    80         unsigned char *_p = (buf);          \    81         _p[0] = ((val) & 0xff);             \    85 #define WS_PUT_UINT16(buf, val)             \    87         unsigned char *_p = (buf);          \    88         _p[0] = (((val) & 0xff00) >> 8);        \    89         _p[1] = ((val) & 0xff);             \    92 #define WS_PUT_UINT32(buf, val)             \    94         unsigned char *_p = (buf);          \    95         _p[0] = (((val) & 0xff000000) >> 24);       \    96         _p[1] = (((val) & 0x00ff0000) >> 16);       \    97         _p[2] = (((val) & 0x0000ff00) >> 8);        \    98         _p[3] = ((val) & 0x000000ff);           \   101 #define WS_GET_UINT8(buf, var)              \   103         const unsigned char *_p = (buf);        \   107 #define WS_GET_UINT16(buf, var)             \   109         const unsigned char *_p = (buf);        \   117 #define WS_GET_UINT32(buf, var)             \   119         const unsigned char *_p = (buf);        \   133 #define WS_MB_UINT32_MAX_ENCODED_LEN    5   207 size_t ws_decode_buffer(
const unsigned char *buffer, 
size_t buffer_len, ...);
 
WsUInt32 ws_decode_mb_uint32(const unsigned char *buffer, size_t *len)
 
WsBool ws_encode_buffer(WsBuffer *buffer,...)
 
unsigned char * ws_encode_mb_uint32(WsUInt32 value, unsigned char *buffer, size_t *len_return)
 
size_t ws_decode_buffer(const unsigned char *buffer, size_t buffer_len,...)