blob: 93ee6d2f11a413b8db33ffeb8754648a4ac62cdd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
/** @file
This file include all the external data types.
Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _DATATYPES_H_
#define _DATATYPES_H_
#ifndef __GNUC__
#pragma warning (disable : 4214 )
#endif
#ifndef EFI_MEMORY_INIT
#include "Bind.h"
typedef uint8_t BOOLEAN;
#ifndef MRC_DATA_REQUIRED_FROM_OUTSIDE
#ifndef UINTN
typedef uintn_t UINTN;
#endif
#endif
#ifndef size_t
#define size_t UINT32
#endif
#if SIM
typedef my_int8_t INT8;
#else
typedef int8_t INT8;
#endif
typedef uint8_t UINT8;
typedef int16_t INT16;
typedef uint16_t UINT16;
#ifndef INT32
typedef int INT32;
#endif
#ifndef UINT32
typedef uint32_t UINT32;
#endif
typedef long long INT64;
typedef unsigned long long UINT64;
typedef uint8_t CHAR8;
typedef uint16_t CHAR16;
#ifndef EFI_PHYSICAL_ADDRESS
typedef UINTN EFI_PHYSICAL_ADDRESS;
#endif
#ifndef GLOBAL_REMOVE_IF_UNREFERENCED
//
// The Microsoft* C compiler can removed references to unreferenced data items
// if the /OPT:REF linker option is used. We defined a macro as this is a
// a non standard extension
//
#if _MSC_EXTENSIONS
#define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany)
#else
#define GLOBAL_REMOVE_IF_UNREFERENCED
#endif
#endif
#endif
typedef struct {
UINT32 Index;
UINT32 DataHigh;
UINT32 DataLow;
} MSR_REG;
typedef struct {
INT8 x;
INT8 y;
} TS_LOC;
//
// Modifiers to abstract standard types to aid in debug of problems
//
#ifndef CONST
#define CONST const
#endif
#ifndef STATIC
#define STATIC static
#endif
#ifndef VOID
#define VOID void
#endif
#ifndef VOLATILE
#define VOLATILE volatile
#endif
//
// Constants. They may exist in other build structures, so #ifndef them.
//
#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifndef TRUE
#define TRUE ((BOOLEAN) 1 == 1)
#endif
#ifndef FALSE
#define FALSE ((BOOLEAN) 0 == 1)
#endif
#ifndef NULL
#define NULL ((VOID *) 0)
#endif
typedef UINT32 MMRC_STATUS;
#define MMRC_SUCCESS 0
#define MMRC_DATA_DIRTY 0xFFFFFFFE
#define MMRC_FAILURE 0xFFFFFFFF
#endif // DATATYPES_H
|