Go to the previous, next section.

System Types

The header file `<vmm/types.h>' defines the standard types used throughout the system, this chapter lists these types, how they are defined, and in some cases where they should be used.

Note that the standard C integer types are not listed (i.e. char, short, int and long). Throughout the system we assume that chars are 8 bits, shorts are 16 bits and longs are 32 bits. We also assume that chars are signed.

int32
A 32 bit signed integer. Defined as int.

u_int
An unsigned integer. Defined as unsigned int.

u_long
u_int32
An unsigned 32 bit integer. Defined as unsigned long.

int16
A signed 16 bit integer. Defined as short

u_short
u_int16
An unsigned 16 bit integer. Defined as unsigned short.

int8
A signed 8 bit integer. Defined as char.

u_char
u_int8
An unsigned 8 bit integer. Defined as unsigned char.

time_t
An unsigned integer type used to store a time and date value. Stored as the number of seconds since January 1st, 1970. Defined as unsigned long. See section Time And Date Handling.

size_t
An unsigned integer type used to store the size of an object in bytes.

bool
A boolean value, either TRUE (non-zero) or FALSE (zero). Defined as char.

The following objects are not types, they are macros used to define certain common values used throughout the system.

NULL
A null pointer of undefined type.

TRUE
A true boolean value. This is defined as the value one but any non-zero integer is actually a true boolean.

FALSE
A false boolean value, defined as zero.

Go to the previous, next section.