LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
xetypes.h
Go to the documentation of this file.
1#ifndef __XETYPES_H__
2#define __XETYPES_H__
3
4#include <stdbool.h>
5#include <stdint.h>
6
7#ifdef __cplusplus
8 extern "C" {
9#endif /* __cplusplus */
10
11/*+----------------------------------------------------------------------------------------------+*/
12typedef uint8_t u8;
13typedef uint16_t u16;
14typedef uint32_t u32;
15typedef uint64_t u64;
16/*+----------------------------------------------------------------------------------------------+*/
17typedef int8_t s8;
18typedef int16_t s16;
19typedef int32_t s32;
20typedef int64_t s64;
21/*+----------------------------------------------------------------------------------------------+*/
22typedef volatile u8 vu8;
23typedef volatile u16 vu16;
24typedef volatile u32 vu32;
25typedef volatile u64 vu64;
26/*+----------------------------------------------------------------------------------------------+*/
27typedef volatile s8 vs8;
28typedef volatile s16 vs16;
29typedef volatile s32 vs32;
30typedef volatile s64 vs64;
31/*+----------------------------------------------------------------------------------------------+*/
32// fixed point math typedefs
33typedef s16 sfp16;
34typedef s32 sfp32;
35typedef u16 ufp16;
36typedef u32 ufp32;
37/*+----------------------------------------------------------------------------------------------+*/
38typedef float f32;
39typedef double f64;
40/*+----------------------------------------------------------------------------------------------+*/
41typedef volatile float vf32;
42typedef volatile double vf64;
43/*+----------------------------------------------------------------------------------------------+*/
44typedef unsigned long long lba_t;
45
46typedef unsigned int BOOL;
47/*+----------------------------------------------------------------------------------------------+*/
48// alias type typedefs
49#define FIXED s32
50/*+----------------------------------------------------------------------------------------------+*/
51#ifndef TRUE
52#define TRUE 1
53#endif
54/*+----------------------------------------------------------------------------------------------+*/
55#ifndef FALSE
56#define FALSE 0
57#endif
58/*+----------------------------------------------------------------------------------------------+*/
59#ifndef NULL
60#define NULL 0
61#endif
62/*+----------------------------------------------------------------------------------------------+*/
63#ifndef LITTLE_ENDIAN
64#define LITTLE_ENDIAN 3412
65#endif /* LITTLE_ENDIAN */
66/*+----------------------------------------------------------------------------------------------+*/
67#ifndef BIG_ENDIAN
68#define BIG_ENDIAN 1234
69#endif /* BIGE_ENDIAN */
70/*+----------------------------------------------------------------------------------------------+*/
71#ifndef BYTE_ORDER
72#define BYTE_ORDER BIG_ENDIAN
73#endif /* BYTE_ORDER */
74/*+----------------------------------------------------------------------------------------------+*/
75
76struct __argv {
77 int magic; // magic value to indicate a valid struct
78 int argc; // count of arguments passed
79 char **argv; // pointer array containing arguments
80};
81
82extern struct __argv * __system_argv;
83
84#define ARGV_MAGIC 0x5f617267
85
86#ifdef __cplusplus
87 }
88#endif /* __cplusplus */
89
90#endif /* TYPES_H */
91
92
93/* END OF FILE */
s32 int32_t
Definition: libfdt_env.h:16
u32 uint32_t
Definition: libfdt_env.h:11
s8 int8_t
Definition: libfdt_env.h:14
s16 int16_t
Definition: libfdt_env.h:15
u16 uint16_t
Definition: libfdt_env.h:10
u64 uint64_t
Definition: libfdt_env.h:12
u8 uint8_t
Definition: libfdt_env.h:9
s64 int64_t
Definition: libfdt_env.h:17
Definition: xetypes.h:76
int magic
Definition: xetypes.h:77
char ** argv
Definition: xetypes.h:79
int argc
Definition: xetypes.h:78
unsigned long long lba_t
Definition: xetypes.h:44
s32 sfp32
signed 20:8 fixed point
Definition: xetypes.h:34
volatile s8 vs8
8bit signed volatile integer
Definition: xetypes.h:27
volatile u8 vu8
8bit unsigned volatile integer
Definition: xetypes.h:22
volatile double vf64
Definition: xetypes.h:42
volatile float vf32
Definition: xetypes.h:41
int64_t s64
64bit signed integer
Definition: xetypes.h:20
uint64_t u64
64bit unsigned integer
Definition: xetypes.h:15
volatile s64 vs64
64bit signed volatile integer
Definition: xetypes.h:30
float f32
Definition: xetypes.h:38
volatile u16 vu16
16bit unsigned volatile integer
Definition: xetypes.h:23
volatile s32 vs32
32bit signed volatile integer
Definition: xetypes.h:29
volatile s16 vs16
16bit signed volatile integer
Definition: xetypes.h:28
uint8_t u8
8bit unsigned integer
Definition: xetypes.h:12
u32 ufp32
unsigned 24:8 fixed point
Definition: xetypes.h:36
double f64
Definition: xetypes.h:39
int8_t s8
8bit signed integer
Definition: xetypes.h:17
u16 ufp16
unsigned 8:8 fixed point
Definition: xetypes.h:35
int16_t s16
16bit signed integer
Definition: xetypes.h:18
volatile u32 vu32
32bit unsigned volatile integer
Definition: xetypes.h:24
unsigned int BOOL
Definition: xetypes.h:46
volatile u64 vu64
64bit unsigned volatile integer
Definition: xetypes.h:25
uint16_t u16
16bit unsigned integer
Definition: xetypes.h:13
struct __argv * __system_argv
s16 sfp16
signed 8:8 fixed point
Definition: xetypes.h:33
int32_t s32
32bit signed integer
Definition: xetypes.h:19
uint32_t u32
32bit unsigned integer
Definition: xetypes.h:14