blob: 7a95af408b108440e36bc0787e9d0f0b92cc8657 (
plain) (
blame)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
/*****************************************************************************
* Laichzeit *
* Part of the Benzin Project *
* Copyright (C)2009 SquidMan (Alex Marshall) <SquidMan72@gmail.com> *
* Copyright (C)2009 megazig (Stephen Simpson) <megazig@hotmail.com> *
* Copyright (C)2009 Matt_P (Matthew Parlane) *
* Copyright (C)2009 comex *
* Copyright (C)2009 booto *
* All Rights Reserved, HACKERCHANNEL. *
* ------------------------------------------------------------------------- *
* types.h *
* Typedefs for stuff. Keep this! *
*****************************************************************************/
#ifndef TYPEDEFS_H
#define TYPEDEFS_H
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned long u32;
typedef unsigned long long u64;
typedef signed char s8;
typedef signed short s16;
typedef signed long s32;
typedef signed long long s64;
typedef float f32;
typedef double f64;
typedef volatile unsigned char vu8;
typedef volatile unsigned short vu16;
typedef volatile unsigned long vu32;
typedef volatile unsigned long long vu64;
typedef volatile signed char vs8;
typedef volatile signed short vs16;
typedef volatile signed long vs32;
typedef volatile signed long long vs64;
typedef volatile float vf32;
typedef volatile double vf64;
// Switch these if you're on a big endian machine.
#define LENDIAN
//#define BENDIAN
#define be16(x) ((u16)( \
((((u16)(x)) >> 8) & 0x00FF) | \
((((u16)(x)) << 8) & 0xFF00) \
))
#define be32(x) ((u32)( \
((((u32)(x)) << 24) & 0xFF000000) | \
((((u32)(x)) << 8) & 0x00FF0000) | \
((((u32)(x)) >> 8) & 0x0000FF00) | \
((((u32)(x)) >> 24) & 0x000000FF) \
))
#define be64(x) ((u64)( \
((((u64)(x)) << 56) & 0xFF00000000000000LL) | \
((((u64)(x)) << 40) & 0x00FF000000000000LL) | \
((((u64)(x)) << 24) & 0x0000FF0000000000LL) | \
((((u64)(x)) << 8) & 0x000000FF00000000LL) | \
((((u64)(x)) >> 8) & 0x00000000FF000000LL) | \
((((u64)(x)) >> 24) & 0x0000000000FF0000LL) | \
((((u64)(x)) >> 40) & 0x000000000000FF00LL) | \
((((u64)(x)) >> 56) & 0x00000000000000FFLL) \
))
#ifdef LENDIAN
#define htobs(x) be16(x)
#define htobl(x) be32(x)
#define htobll(x) be64(x)
#endif //LENDIAN
#ifdef BENDIAN
#define htobs (x)
#define htobl (x)
#define htobll (x)
#endif //BENDIAN
#define btohs htobs
#define btohl htobl
#define btohll htobll
// Makes x a multiple of y, ceiling style.
#define align(x, y) ((x) + ((x) % (y)))
#endif //TYPEDEFS_H
|