blob: 4518a86357a34d7c0e990a627877576421768c6e [file] [log] [blame]
Angel Pons32859fc2020-04-02 23:48:27 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Subrata Banik9d712bc2019-02-27 18:37:27 +05302
3/* Create EFI equivalent datatype in coreboot based on UEFI specification */
4#ifndef __EFI_DATATYPE_H__
5#define __EFI_DATATYPE_H__
Subrata Banik9d712bc2019-02-27 18:37:27 +05306#include <Base.h>
Anil Kumar8a4a89f2022-01-04 15:03:03 -08007#include <Uefi/UefiBaseType.h>
Subrata Banik9d712bc2019-02-27 18:37:27 +05308
Subrata Banik242e2662022-03-14 16:33:34 +05309#if CONFIG_UDK_VERSION >= CONFIG_UDK_2017_VERSION
Subrata Banike8ec7d22022-03-23 03:48:32 +053010#include <Guid/StatusCodeDataTypeId.h>
Subrata Banikbfe220c2023-08-02 20:12:21 +000011#include <IndustryStandard/Bmp.h>
Subrata Banik242e2662022-03-14 16:33:34 +053012#include <Pi/PiPeiCis.h>
Subrata Banike8ec7d22022-03-23 03:48:32 +053013#include <Pi/PiStatusCode.h>
Subrata Banikbfe220c2023-08-02 20:12:21 +000014#include <Protocol/GraphicsOutput.h>
Subrata Banik2f4fe942022-03-23 03:42:22 +053015#include <Protocol/MpService.h>
Subrata Banik242e2662022-03-14 16:33:34 +053016
17/* Data structure for EFI_PEI_SERVICE. */
18typedef EFI_PEI_SERVICES efi_pei_services;
19/* Structure that describes information about a logical CPU. */
20typedef EFI_PROCESSOR_INFORMATION efi_processor_information;
Subrata Banike8ec7d22022-03-23 03:48:32 +053021/* Status code type definition */
22typedef EFI_STATUS_CODE_TYPE efi_status_code_type_t;
23/* Status value type definition */
24typedef EFI_STATUS_CODE_VALUE efi_status_code_value_t;
25/* Status data type definition */
26typedef EFI_STATUS_CODE_DATA efi_status_code_data_t;
27/* Status string data type definition */
28typedef EFI_STATUS_CODE_STRING_DATA efi_status_code_string_data;
Subrata Banikbfe220c2023-08-02 20:12:21 +000029/* Data structure for EFI_GRAPHICS_OUTPUT_BLT_PIXEL. */
30typedef EFI_GRAPHICS_OUTPUT_BLT_PIXEL efi_graphics_output_blt_pixel;
31/* Data structure for BMP_IMAGE_HEADER. */
32typedef BMP_IMAGE_HEADER efi_bmp_image_header;
33/* Data structure for BMP_COLOR_MAP; . */
34typedef BMP_COLOR_MAP efi_bmp_color_map;
Subrata Banik242e2662022-03-14 16:33:34 +053035#endif
36
Subrata Banik9d712bc2019-02-27 18:37:27 +053037/* Basic Data types */
Subrata Banik9d712bc2019-02-27 18:37:27 +053038/* 8-byte unsigned value. */
39typedef UINT64 efi_uint64_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053040/* 8-byte signed value. */
41typedef INT64 efi_int64_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053042/* 4-byte unsigned value. */
43typedef UINT32 efi_uint32_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053044/* 4-byte signed value. */
45typedef INT32 efi_int32_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053046/* 2-byte unsigned value. */
47typedef UINT16 efi_uint16_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053048/* 2-byte Character. */
49typedef CHAR16 efi_char16_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053050/* 2-byte signed value. */
51typedef INT16 efi_int16_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053052/* Logical Boolean. */
53typedef BOOLEAN efi_boolean_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053054/* 1-byte unsigned value. */
55typedef UINT8 efi_uint8_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053056/* 1-byte Character */
57typedef CHAR8 efi_char8_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053058/* 1-byte signed value */
59typedef INT8 efi_int8_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053060/* Unsigned value of native width. */
61typedef UINTN efi_uintn_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053062/* Signed value of native width. */
63typedef INTN efi_intn_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053064/* Status codes common to all execution phases */
65typedef EFI_STATUS efi_return_status_t;
Anil Kumar8a4a89f2022-01-04 15:03:03 -080066/* Data structure for EFI_PHYSICAL_ADDRESS */
67typedef EFI_PHYSICAL_ADDRESS efi_physical_address;
Subrata Banike8ec7d22022-03-23 03:48:32 +053068/* 128-bit buffer containing a unique identifier value */
69typedef EFI_GUID efi_guid_t;
Subrata Banik9d712bc2019-02-27 18:37:27 +053070
Subrata Banik9d712bc2019-02-27 18:37:27 +053071/*
72 * The function prototype for invoking a function on an
73 * Application Processor.
74 */
75typedef
76void
77(EFIAPI *efi_ap_procedure)(void *buffer);
78
79#endif