summaryrefslogtreecommitdiffstats
path: root/src/include/efi/efi_datatype.h
blob: 2d516a9874e83aeb1aa358cd1e3f4d360c5332d1 (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
/* SPDX-License-Identifier: GPL-2.0-only */
/* This file is part of the coreboot project. */

/* Create EFI equivalent datatype in coreboot based on UEFI specification */
#ifndef __EFI_DATATYPE_H__
#define __EFI_DATATYPE_H__

#include <Base.h>
#include <PiPei.h>
#include <Ppi/MpServices.h>

/* Basic Data types */

/* 8-byte unsigned value. */
typedef UINT64 efi_uint64_t;

/* 8-byte signed value. */
typedef INT64 efi_int64_t;

/* 4-byte unsigned value. */
typedef UINT32 efi_uint32_t;

/* 4-byte signed value. */
typedef INT32 efi_int32_t;

/* 2-byte unsigned value. */
typedef UINT16 efi_uint16_t;

/* 2-byte Character. */
typedef CHAR16 efi_char16_t;

/* 2-byte signed value. */
typedef INT16 efi_int16_t;

/* Logical Boolean. */
typedef BOOLEAN efi_boolean_t;

/* 1-byte unsigned value. */
typedef UINT8 efi_uint8_t;

/* 1-byte Character */
typedef CHAR8 efi_char8_t;

/* 1-byte signed value */
typedef INT8 efi_int8_t;

/* Unsigned value of native width. */
typedef UINTN efi_uintn_t;

/* Signed value of native width. */
typedef INTN efi_intn_t;

/* Status codes common to all execution phases */
typedef EFI_STATUS efi_return_status_t;

/* Data structure */

/* Data structure for EFI_PEI_SERVICE. */
typedef EFI_PEI_SERVICES efi_pei_services;

/* Data structure for UEFI PI Multi-processor PPI */
typedef EFI_PEI_MP_SERVICES_PPI efi_pei_mp_services_ppi;

/*  Structure that describes information about a logical CPU. */
typedef EFI_PROCESSOR_INFORMATION efi_processor_information;

/*
 * The function prototype for invoking a function on an
 * Application Processor.
 */
typedef
void
(EFIAPI *efi_ap_procedure)(void *buffer);

#endif