-static unsigned long long
-bytes_to_long_long(unsigned char *bytes)
- {
- unsigned long long num;
-
- num = (((unsigned long long)bytes[0]) << 56) |
- (((unsigned long long)bytes[1]) << 48) |
- (((unsigned long long)bytes[2]) << 40) |
- (((unsigned long long)bytes[3]) << 32) |
- (((unsigned long long)bytes[4]) << 24) |
- (((unsigned long long)bytes[5]) << 16) |
- (((unsigned long long)bytes[6]) << 8) |
- (((unsigned long long)bytes[7]) );
-
- return num;
- }
-
-static void
-long_long_to_bytes(unsigned long long num, unsigned char *bytes)
- {
- bytes[0] = (unsigned char)((num >> 56)&0xff);
- bytes[1] = (unsigned char)((num >> 48)&0xff);
- bytes[2] = (unsigned char)((num >> 40)&0xff);
- bytes[3] = (unsigned char)((num >> 32)&0xff);
- bytes[4] = (unsigned char)((num >> 24)&0xff);
- bytes[5] = (unsigned char)((num >> 16)&0xff);
- bytes[6] = (unsigned char)((num >> 8)&0xff);
- bytes[7] = (unsigned char)((num )&0xff);
- }