/** @file
  Define NVData structures used by the HTTP Boot configuration component.

Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#pragma once

#include <Guid/HttpBootConfigHii.h>

#define HTTP_BOOT_IP_VERSION_4  0
#define HTTP_BOOT_IP_VERSION_6  1

//
// Macros used for an IPv4 or an IPv6 address.
//
#define URI_STR_MIN_SIZE  0
#define URI_STR_MAX_SIZE  255

#define DESCRIPTION_STR_MIN_SIZE  6
#define DESCRIPTION_STR_MAX_SIZE  75

#define CONFIGURATION_VARSTORE_ID  0x1234

#define FORMID_MAIN_FORM  1

#define KEY_INITIATOR_URI        0x101
#define KEY_INITIATOR_PROXY_URI  0x102

#define HTTP_BOOT_DEFAULT_DESCRIPTION_STR  L"UEFI HTTP"

#pragma pack(1)
typedef struct _HTTP_BOOT_CONFIG_IFR_NVDATA {
  UINT8     IpVersion;
  UINT8     Padding;
  CHAR16    Description[DESCRIPTION_STR_MAX_SIZE];
  CHAR16    Uri[URI_STR_MAX_SIZE];
  CHAR16    ProxyUri[URI_STR_MAX_SIZE];
} HTTP_BOOT_CONFIG_IFR_NVDATA;
#pragma pack()
