Ip6NvData.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /** @file
  2. NVData structure used by the IP6 configuration component.
  3. Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #ifndef _IP6_NV_DATA_H_
  7. #define _IP6_NV_DATA_H_
  8. #include <Guid/Ip6ConfigHii.h>
  9. #define FORMID_MAIN_FORM 1
  10. #define FORMID_MANUAL_CONFIG_FORM 2
  11. #define FORMID_HEAD_FORM 3
  12. #define IP6_POLICY_AUTO 0
  13. #define IP6_POLICY_MANUAL 1
  14. #define DAD_MAX_TRANSMIT_COUNT 10
  15. #define KEY_INTERFACE_ID 0x101
  16. #define KEY_MANUAL_ADDRESS 0x102
  17. #define KEY_GATEWAY_ADDRESS 0x103
  18. #define KEY_DNS_ADDRESS 0x104
  19. #define KEY_SAVE_CHANGES 0x105
  20. #define KEY_SAVE_CONFIG_CHANGES 0x106
  21. #define KEY_IGNORE_CONFIG_CHANGES 0x107
  22. #define KEY_GET_CURRENT_SETTING 0x108
  23. #define HOST_ADDRESS_LABEL 0x9000
  24. #define ROUTE_TABLE_LABEL 0xa000
  25. #define GATEWAY_ADDRESS_LABEL 0xb000
  26. #define DNS_ADDRESS_LABEL 0xc000
  27. #define LABEL_END 0xffff
  28. #define INTERFACE_ID_STR_MIN_SIZE 1
  29. #define INTERFACE_ID_STR_MAX_SIZE 23
  30. #define INTERFACE_ID_STR_STORAGE 25
  31. #define IP6_STR_MAX_SIZE 40
  32. #define ADDRESS_STR_MIN_SIZE 2
  33. #define ADDRESS_STR_MAX_SIZE 255
  34. ///
  35. /// IP6_CONFIG_IFR_NVDATA contains the IP6 configure
  36. /// parameters for that NIC.
  37. ///
  38. #pragma pack(1)
  39. typedef struct {
  40. UINT8 IfType; ///< interface type
  41. UINT8 Padding[3];
  42. UINT32 Policy; ///< manual or automatic
  43. UINT32 DadTransmitCount; ///< dad transmits count
  44. CHAR16 InterfaceId[INTERFACE_ID_STR_STORAGE]; ///< alternative interface id
  45. CHAR16 ManualAddress[ADDRESS_STR_MAX_SIZE]; ///< IP addresses
  46. CHAR16 GatewayAddress[ADDRESS_STR_MAX_SIZE]; ///< Gateway address
  47. CHAR16 DnsAddress[ADDRESS_STR_MAX_SIZE]; ///< DNS server address
  48. } IP6_CONFIG_IFR_NVDATA;
  49. #pragma pack()
  50. #endif