1 /** @file 2 Define NVData structures used by the HTTP Boot configuration component. 3 4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef _HTTP_BOOT_NVDATA_STRUC_H_ 16 #define _HTTP_BOOT_NVDATA_STRUC_H_ 17 18 #include <Guid/HttpBootConfigHii.h> 19 20 #define HTTP_BOOT_IP_VERSION_4 0 21 #define HTTP_BOOT_IP_VERSION_6 1 22 23 // 24 // Macros used for an IPv4 or an IPv6 address. 25 // 26 #define URI_STR_MIN_SIZE 0 27 #define URI_STR_MAX_SIZE 255 28 29 #define DESCRIPTION_STR_MIN_SIZE 6 30 #define DESCRIPTION_STR_MAX_SIZE 75 31 32 #define CONFIGURATION_VARSTORE_ID 0x1234 33 34 #define FORMID_MAIN_FORM 1 35 36 #define KEY_INITIATOR_URI 0x101 37 38 #define HTTP_BOOT_DEFAULT_DESCRIPTION_STR L"UEFI HTTP" 39 40 #pragma pack(1) 41 typedef struct _HTTP_BOOT_CONFIG_IFR_NVDATA { 42 UINT8 IpVersion; 43 UINT8 Padding; 44 CHAR16 Description[DESCRIPTION_STR_MAX_SIZE]; 45 CHAR16 Uri[URI_STR_MAX_SIZE]; 46 } HTTP_BOOT_CONFIG_IFR_NVDATA; 47 #pragma pack() 48 49 50 #endif 51