next up previous contents index
Next: 3.2.5 types.h: basic machine-independent Up: 3.2 Common Header Files Previous: 3.2.3 config.h: OSKit configuration-specific

3.2.4 machine/types.h: basic machine-dependent types

   

SYNOPSIS

#include <oskit/machine/boolean.h>

DESCRIPTION

This header file defines a number of types whose exact definitions are dependent on the processor architecture and compiler in use.

The following set of types are guaranteed to be exactly the indicated width regardless of processor architecture; they are used to get around the fact that different C compilers assign different meanings to the built-in C types such as int and long:

oskit_s8_t
Signed 8-bit integer
oskit_s16_t
Signed 16-bit integer
oskit_s32_t
Signed 32-bit integer
oskit_s64_t
Signed 64-bit integer
oskit_u8_t
Unsigned 8-bit integer
oskit_u16_t
Unsigned 16-bit integer
oskit_u32_t
Unsigned 32-bit integer
oskit_u64_t
Unsigned 64-bit integer
oskit_f32_t
32-bit floating point type
oskit_f64_t
64-bit floating point type

The following types depend in various ways on the target processor architecture:

oskit_bool_t
This type represents the most efficient integer type for storage of simple boolean values; on typical architectures it is the smallest integer type that the processor can handle with no extra overhead.
oskit_addr_t
This is an unsigned integer type the same size as a pointer, which can therefore be used to hold virtual or physical addresses and offsets.
oskit_size_t
This is an unsigned integer type equivalent to oskit_addr_t, except that it is generally used to represent the size of a data structure or memory buffer, or a difference between two oskit_addr_ts.
oskit_ssize_t
This is a signed integer type the same size as oskit_size.
oskit_reg_t
This is an unsigned integer type of the same size as a general-purpose processor register; it is generally but not necessarily always equivalent to oskit_addr_t.
oskit_sreg_t
This is a signed integer type the same size as oskit_reg_t.



University of Utah Flux Research Group