1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
/*
* utils.h
*
*/
#ifndef __utils_h
#define __utils_h
#define write_nbo16(l,c) ( \
*((unsigned char*)(c)+0)=(unsigned char)(((l)>>8)&0xff), \
*((unsigned char*)(c)+1)=(unsigned char)(((l) )&0xff)\
)
#define write_nbo32(l,c) ( \
*((unsigned char*)(c)+0)=(unsigned char)(((l)>>24L)&0xff), \
*((unsigned char*)(c)+1)=(unsigned char)(((l)>>16L)&0xff), \
*((unsigned char*)(c)+2)=(unsigned char)(((l)>> 8L)&0xff), \
*((unsigned char*)(c)+3)=(unsigned char)(((l) )&0xff)\
)
#define write_nbo64(l,c) ( \
*((unsigned char*)(c)+0)=(unsigned char)(((l)>>56LL)&0xff), \
*((unsigned char*)(c)+1)=(unsigned char)(((l)>>48LL)&0xff), \
*((unsigned char*)(c)+2)=(unsigned char)(((l)>>40LL)&0xff), \
*((unsigned char*)(c)+3)=(unsigned char)(((l)>>32LL)&0xff), \
*((unsigned char*)(c)+4)=(unsigned char)(((l)>>24LL)&0xff), \
*((unsigned char*)(c)+5)=(unsigned char)(((l)>>16LL)&0xff), \
*((unsigned char*)(c)+6)=(unsigned char)(((l)>> 8LL)&0xff), \
*((unsigned char*)(c)+7)=(unsigned char)(((l) )&0xff)\
)
#define read_nbo16(c) ((int16_t)( \
(((uint16_t)(*((unsigned char*)(c)+0)))<< 8L) | \
(((uint16_t)(*((unsigned char*)(c)+1))) ) \
))
#define read_nbo32(c) ((int32_t)( \
(((uint32_t)(*((unsigned char*)(c)+0)))<<24L) | \
(((uint32_t)(*((unsigned char*)(c)+1)))<<16L) | \
(((uint32_t)(*((unsigned char*)(c)+2)))<< 8L) | \
(((uint32_t)(*((unsigned char*)(c)+3))) ) \
))
#define read_nbo64(c) ((int64_t)( \
(((uint64_t)(*((unsigned char*)(c)+0)))<<56LL) | \
(((uint64_t)(*((unsigned char*)(c)+1)))<<48LL) | \
(((uint64_t)(*((unsigned char*)(c)+2)))<<40LL) | \
(((uint64_t)(*((unsigned char*)(c)+3)))<<32LL) | \
(((uint64_t)(*((unsigned char*)(c)+4)))<<24LL) | \
(((uint64_t)(*((unsigned char*)(c)+5)))<<16LL) | \
(((uint64_t)(*((unsigned char*)(c)+6)))<< 8LL) | \
(((uint64_t)(*((unsigned char*)(c)+7))) ) \
))
#define BASE64_ENCODED_SIZE(strlen) (((strlen) + 2) / 3 * 4)
#define BASE64_DECODED_SIZE(base64len) (((base64len) + 3) / 4 * 3)
void base64_encode( char *out, const char *in, int len);
int base64_decode( char *out, const char *in, unsigned int len);
int rbpg_strncasecmp(const char *s1, const char *s2, size_t n);
#endif /* end __utils_h */
|