File: pg_util.h

package info (click to toggle)
ruby-pg 1.5.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,264 kB
  • sloc: ansic: 8,820; ruby: 2,809; makefile: 10
file content (65 lines) | stat: -rw-r--r-- 2,237 bytes parent folder | download | duplicates (4)
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 */