Turnstone Operating System
Loading...
Searching...
No Matches
types.h File Reference

cpu data types More...

Macros

#define ___TYPES_H   0
 
#define UNUSED(x)   (void)(x)
 
#define NULL   0
 
#define true   1
 
#define false   0
 
#define EXT_INT64_GET_BYTE(i, bo)   (i >> (bo * 4) & 0xFF)
 gets byte at offset from quad word More...
 
#define number_t   int64_t
 
#define unumber_t   uint64_t
 
#define va_start(v, f)   __builtin_va_start(v, f);
 
#define va_end(v)   __builtin_va_end(v);
 
#define va_arg(v, a)   __builtin_va_arg(v, a);
 
#define MODULE(m)
 
#define nobreak   __attribute__((fallthrough))
 

Typedefs

typedef char char_t
 
typedef char int8_t
 
typedef unsigned char uchar_t
 
typedef unsigned char uint8_t
 
typedef _Bool boolean_t
 
typedef short int16_t
 
typedef unsigned short wchar_t
 
typedef unsigned short uint16_t
 
typedef int int32_t
 
typedef unsigned int uint32_t
 
typedef unsigned int lchar_t
 
typedef long long int64_t
 
typedef unsigned long long uint64_t
 
typedef uint64_t reg_t
 
typedef uint64_t regext_t
 
typedef uint64_t size_t
 
typedef float float32_t
 
typedef double float64_t
 
typedef long double float128_t
 
typedef __int128 int128_t
 
typedef unsigned __int128 uint128_t
 
typedef __builtin_va_list va_list
 

Detailed Description

cpu data types

This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.

Macro Definition Documentation

◆ ___TYPES_H

#define ___TYPES_H   0

prevent duplicate header error macro

◆ EXT_INT64_GET_BYTE

#define EXT_INT64_GET_BYTE (   i,
  bo 
)    (i >> (bo * 4) & 0xFF)

gets byte at offset from quad word

Parameters
[in]iquad word
[in]bobyte offset
Returns
byte at offset

◆ MODULE

#define MODULE (   m)
Value:
__attribute__((section(".___module___"), visibility("internal"))) \
const char_t ___module___[] = m;
char char_t
Definition: types.h:18

◆ number_t

#define number_t   int64_t

alias for signed quad word at long mode

◆ true

#define true   1

boolean type

◆ unumber_t

#define unumber_t   uint64_t

alias for signed quad word at long mode

◆ UNUSED

#define UNUSED (   x)    (void)(x)

unused parameter warning supress macro

Typedef Documentation

◆ char_t

typedef char char_t

char type

◆ float128_t

typedef long double float128_t

alias for 64-bit precision floating point

◆ float32_t

typedef float float32_t

alias for 32-bit precision floating point

◆ float64_t

typedef double float64_t

alias for 64-bit precision floating point

◆ int128_t

typedef __int128 int128_t

alias for 128-bit signed integer

◆ int16_t

typedef short int16_t

signed word (two bytes) type

◆ int32_t

typedef int int32_t

signed double word (four bytes) type

◆ int64_t

typedef long long int64_t

signed quad word (eight bytes) type

◆ int8_t

typedef char int8_t

signed byte type

◆ lchar_t

typedef unsigned int lchar_t

long char (four bytes) type

◆ reg_t

typedef uint64_t reg_t

cpu registery type at long mode

◆ regext_t

typedef uint64_t regext_t

cpu extended registery type at long mode

◆ size_t

typedef uint64_t size_t

size of objects type at long mode

◆ uchar_t

typedef unsigned char uchar_t

unsigned char type

◆ uint128_t

typedef unsigned __int128 uint128_t

alias for 128-bit signed integer

◆ uint16_t

typedef unsigned short uint16_t

unsigned word (two bytes) type

◆ uint32_t

typedef unsigned int uint32_t

unsigned double word (four bytes) type

◆ uint64_t

typedef unsigned long long uint64_t

unsigned quad word (eight bytes) type

◆ uint8_t

typedef unsigned char uint8_t

unsigned byte type

◆ wchar_t

typedef unsigned short wchar_t

wide char (two bytes) type