Open Reality Reference Guide
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1
4
#ifndef KARCH_TYPES_H
5
#define KARCH_TYPES_H
6
7
/**************************************************************************************
8
9
Copyright (C) 2001 - 2009 Autodesk, Inc. and/or its licensors.
10
All Rights Reserved.
11
12
The coded instructions, statements, computer programs, and/or related material
13
(collectively the "Data") in these files contain unpublished information
14
proprietary to Autodesk, Inc. and/or its licensors, which is protected by
15
Canada and United States of America federal copyright law and by international
16
treaties.
17
18
The Data may not be disclosed or distributed to third parties, in whole or in
19
part, without the prior written consent of Autodesk, Inc. ("Autodesk").
20
21
THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
22
ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
23
WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING
24
BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE,
25
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR USE.
26
WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT THE OPERATION
27
OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE.
28
29
IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
30
OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES
31
OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE DAMAGES OR OTHER
32
SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE
33
OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND),
34
HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF LIABILITY, WHETHER DERIVED
35
FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE), OR OTHERWISE,
36
ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE,
37
WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS
38
OR DAMAGE.
39
40
**************************************************************************/
41
42
#ifndef KARCH_ARCH_H
43
#include <
karch/arch.h
>
44
#endif
45
46
#include <cstdint>
47
48
// Common independant definitions
49
50
typedef
signed
char
kByte;
/* signed 8-bit integer */
51
typedef
unsigned
char
kUByte;
/* unsigned 8-bit integer */
52
typedef
signed
char
kSChar;
53
typedef
unsigned
char
kUChar;
54
typedef
unsigned
int
kUInt;
55
typedef
signed
short
kShort;
56
typedef
unsigned
short
kUShort;
57
58
#define K_SCHAR_MIN (-128)
59
#define K_SCHAR_MAX (127)
60
#define K_UCHAR_MIN (0)
61
#define K_UCHAR_MAX (255)
62
63
#define K_INT8_MIN (-128)
64
#define K_INT8_MAX (127)
65
#define K_UINT8_MIN (0)
66
#define K_UINT8_MAX (255)
67
68
#define K_INT16_MIN (-32768)
69
#define K_INT16_MAX (32767)
70
#define K_UINT16_MIN (0)
71
#define K_UINT16_MAX (65535)
72
73
#define K_INT32_MIN (0x80000000)
74
#define K_INT32_MAX (0x7fffffff)
75
#define K_UINT32_MIN (0)
76
#define K_UINT32_MAX (0xffffffff)
77
78
#define KARCH_LITTLE_ENDIAN
79
80
#define K_CHAR(x) char(x)
81
#define K_SCHAR(x) kSChar(x)
82
#define K_UCHAR(x) kUChar(x##L)
83
84
#ifndef _T
85
#define __T(x) x
86
#define _T(x) __T(x)
87
#endif
88
89
#define K_SHORT(x) kShort(x)
90
#define K_USHORT(x) kUShort(x##U)
91
#define K_SHORT_MIN K_SHORT(-32768)
92
#define K_SHORT_MAX K_SHORT(32767)
93
#define K_USHORT_MIN K_USHORT(0)
94
#define K_USHORT_MAX K_USHORT(65535)
95
96
#define K_INT(x) (x)
97
#define K_UINT(x) (x##U)
98
#define K_INT_MIN K_INT(0x80000000)
99
#define K_INT_MAX K_INT(0x7fffffff)
100
#define K_UINT_MIN K_UINT(0)
101
#define K_UINT_MAX K_UINT(0xffffffff)
102
103
#ifdef __LP64__
104
typedef
signed
int
kLong;
105
typedef
unsigned
int
kULong;
106
#define zlufmt "%0u"
107
#define lufmt "%u"
108
#else
109
typedef
signed
long
kLong;
110
typedef
unsigned
long
kULong;
111
#define zlufmt "%0lu"
112
#define lufmt "%lu"
113
#endif
114
115
#define K_LONG(x) (x)
116
#define K_ULONG(x) (x##U)
117
#define K_LONG_MIN K_LONG(0x80000000)
118
#define K_LONG_MAX K_LONG(0x7fffffff)
119
#define K_ULONG_MIN K_ULONG(0)
120
#define K_ULONG_MAX K_ULONG(0xffffffff)
121
122
typedef
signed
long
long
kLongLong;
123
#define K_LONGLONG(x) ((kLongLong)(x##LL))
124
typedef
unsigned
long
long
kULongLong;
125
#define K_ULONGLONG(x) ((kULongLong)(x##ULL))
126
127
#define K_LONGLONG_MIN K_LONGLONG(0x8000000000000000)
128
#define K_LONGLONG_MAX K_LONGLONG(0x7fffffffffffffff)
129
#define K_ULONGLONG_MIN K_ULONGLONG(0)
130
#define K_ULONGLONG_MAX K_ULONGLONG(0xffffffffffffffff)
131
132
typedef
int8_t kInt8;
133
typedef
uint8_t kUInt8;
134
135
typedef
int16_t kInt16;
136
typedef
uint16_t kUInt16;
137
138
typedef
int32_t kInt32;
139
typedef
uint32_t kUInt32;
140
141
typedef
int64_t kInt64;
142
typedef
uint64_t kUInt64;
143
144
// Atomic definitions
145
#ifdef KARCH_ARCH_64
146
typedef
int64_t kAtomic;
147
#else
148
typedef
int32_t kAtomic;
149
#endif
150
151
// Pointer definitions
152
typedef
uintptr_t kReference;
153
#define K_REFERENCE_MAX UINTPTR_MAX
154
155
typedef
kULongLong KMicroTime;
156
157
#endif
arch.h
Components
amKernel
kbaselib
karch
types.h
Generated by
1.9.7