diff options
-rw-r--r-- | src/include/efi/efi_datatype.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/include/efi/efi_datatype.h b/src/include/efi/efi_datatype.h new file mode 100644 index 0000000000..053d7133c4 --- /dev/null +++ b/src/include/efi/efi_datatype.h @@ -0,0 +1,87 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2019 Intel Corporation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/* 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 |