/** @file Copyright (c) 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PLATFORM_TYPES_H_ #define _PLATFORM_TYPES_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define EFI_PLATFORM_TYPE_DRIVER_PRIVATE_SIGNATURE SIGNATURE_32 ('T', 'Y', 'P', 'P') #define EFI_IIO_UDS_DRIVER_PRIVATE_SIGNATURE SIGNATURE_32 ('S', 'D', 'U', 'I') typedef unsigned char BYTE; //!< 8-bit quantities typedef unsigned short WORD; //!< 16-bit quantities typedef unsigned long DWORD; //!< 32-bit quantities typedef enum { #ifndef SUCCESS SUCCESS = 0x00, //!< Packet it good! .data[] is valid #endif DEFER = 0x01, //!< Packet is defered. .data[1] = BufID W_EARLY_NACK = 0x02, //!< Packet mastered on the SMBus by the MCU was NACKed earlier than expected NOT_RESP = 0x03, //!< Packet mastered on the SMBus by the MCU was NACKed during the address byte BUFFER_OVERRUN = 0x04, //!< Too many BYTE s were stuffed into the buffer. NO_BUFFER = 0x05, //!< All the buffers are used INVALID_BUF = 0x06, //!< Command passed a buffer id that was not in range BUF_NOT_IN_QUEUE = 0x07, //!< Command passed a buffer id is not being used. ARBITRATION_LOST = 0x08, //!< While the MCU was mastering a packet on the SMBus it lost arbitration. TIMEOUT = 0x0B, //!< SMBus timed out. CHECKSUM_ERR = 0x0C, //!< Operation encountered a checksum mismatch DATA_NACK = 0x0D, //!< Still don't know what these mean? BUS_ERR = 0x0E, //!< ? FAIL = 0x0F, //!< Generic error BUSY = 0x10, //!< ? R_EARLY_NACK = 0x11, //!< ? INVALID_LCD_COL_OFF = 0x12, //!< The cursor on the LCD was set to a column that was out of range. INVALID_LCD_ROW_OFF = 0x13, //!< The cursor on the LCD was set to a row that was out of range. INVALID_CK410_SEL = 0x14, //!< ? CMD_NOT_SUPPORTED = 0x15, //!< This command is not supported MORE_DATA_AVAILABLE = 0x16, //!< Do the command again to get more data } STATUS; typedef struct { BYTE byte_count; STATUS status; BYTE data[31]; } BUFFER_RSLT; typedef struct { UINTN Signature; EFI_HANDLE Handle; // Handle for protocol this driver installs on EFI_IIO_UDS_PROTOCOL IioUds; // Policy protocol this driver installs } EFI_IIO_UDS_DRIVER_PRIVATE; #endif