#include <haka/config.h>
#include <byteswap.h>
Go to the source code of this file.
|
| #define | true 1 |
| |
| #define | false 0 |
| |
| #define | SWAP(type, x) SWAP_##type(x) |
| |
| #define | SWAP_TO_LE(type, x) (x) |
| |
| #define | SWAP_FROM_LE(type, x) (x) |
| |
| #define | SWAP_TO_BE(type, x) SWAP(type, (x)) |
| |
| #define | SWAP_FROM_BE(type, x) SWAP(type, (x)) |
| |
| #define | GET_BIT(v, i) ((((v) & (1 << (i))) != 0)) |
| |
| #define | SET_BIT(v, i, x) ((x) ? ((v) | (1 << (i))) : ((v) & ~(1 << (i)))) |
| |
| #define | GET_BITS(v, i, j) (((v) & GET_BITS_MASK(i, j)) >> (i)) |
| |
| #define | SET_BITS(v, i, j, x) (((v) & ~(GET_BITS_MASK(i, j))) | (((x) << (i)) & GET_BITS_MASK(i, j))) |
| |
|
| typedef unsigned char | bool |
| |
| typedef char | int8 |
| |
| typedef HAKA_16BIT_TYPE | int16 |
| |
| typedef HAKA_32BIT_TYPE | int32 |
| |
| typedef HAKA_64BIT_TYPE | int64 |
| |
| typedef unsigned char | uint8 |
| |
| typedef unsigned HAKA_16BIT_TYPE | uint16 |
| |
| typedef unsigned HAKA_32BIT_TYPE | uint32 |
| |
| typedef unsigned HAKA_64BIT_TYPE | uint64 |
| |
Basic types used all along Haka.
| #define GET_BIT |
( |
|
v, |
|
|
|
i |
|
) |
| ((((v) & (1 << (i))) != 0)) |
Get the bit i from an integer v.
| #define GET_BITS |
( |
|
v, |
|
|
|
i, |
|
|
|
j |
|
) |
| (((v) & GET_BITS_MASK(i, j)) >> (i)) |
Get the bits in range [i ; j] from an integer v.
| #define SET_BIT |
( |
|
v, |
|
|
|
i, |
|
|
|
x |
|
) |
| ((x) ? ((v) | (1 << (i))) : ((v) & ~(1 << (i)))) |
Set the bit i from an integer v to x.
| #define SET_BITS |
( |
|
v, |
|
|
|
i, |
|
|
|
j, |
|
|
|
x |
|
) |
| (((v) & ~(GET_BITS_MASK(i, j))) | (((x) << (i)) & GET_BITS_MASK(i, j))) |
Set the bits in range [i ; j] from an integer v to x.
| #define SWAP |
( |
|
type, |
|
|
|
x |
|
) |
| SWAP_##type(x) |
Byte swapping utility macro.
- Parameters
-
| type | C type (int32, uint64...) |
| x | Value to swap. |
| #define SWAP_FROM_BE |
( |
|
type, |
|
|
|
x |
|
) |
| SWAP(type, (x)) |
Byte swapping utility macro. Swap from big endian to local machine endian.
- Parameters
-
| type | C type (int32, uint64...) |
| x | Value to swap. |
| #define SWAP_FROM_LE |
( |
|
type, |
|
|
|
x |
|
) |
| (x) |
Byte swapping utility macro. Swap from little endian to local machine endian.
- Parameters
-
| type | C type (int32, uint64...) |
| x | Value to swap. |
| #define SWAP_TO_BE |
( |
|
type, |
|
|
|
x |
|
) |
| SWAP(type, (x)) |
Byte swapping utility macro. Swap from local machine endian to big endian.
- Parameters
-
| type | C type (int32, uint64...) |
| x | Value to swap. |
| #define SWAP_TO_LE |
( |
|
type, |
|
|
|
x |
|
) |
| (x) |
Byte swapping utility macro. Swap from local machine endian to little endian.
- Parameters
-
| type | C type (int32, uint64...) |
| x | Value to swap. |
| typedef unsigned char bool |
Boolean. Its value can be true or false.
| typedef HAKA_16BIT_TYPE int16 |
Signed 2 byte integer type.
| typedef HAKA_32BIT_TYPE int32 |
Signed 4 byte integer type.
| typedef HAKA_64BIT_TYPE int64 |
Signed 8 byte integer type.
Signed 1 byte integer type.
| typedef unsigned HAKA_16BIT_TYPE uint16 |
Unsigned 2 byte integer type.
| typedef unsigned HAKA_32BIT_TYPE uint32 |
Unsigned 4 byte integer type.
| typedef unsigned HAKA_64BIT_TYPE uint64 |
Unsigned 8 byte integer type.
| typedef unsigned char uint8 |
Unsigned 1 byte integer type.