/** @file
  Header file for NV data structure definition.

Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#ifndef __VLAN_CONFIG_NV_DATA_H__
#define __VLAN_CONFIG_NV_DATA_H__

#include <Guid/HiiPlatformSetupFormset.h>
#include <Guid/VlanConfigHii.h>

#define VLAN_CONFIGURATION_VARSTORE_ID  0x0001
#define VLAN_CONFIGURATION_FORM_ID      0x0001
#define VLAN_HEAD_FORM_ID               0x0002

#define VLAN_ADD_QUESTION_ID     0x1000
#define VLAN_REMOVE_QUESTION_ID  0x2000
#define VLAN_UPDATE_QUESTION_ID  0x3000

#define LABEL_VLAN_LIST  0x0001
#define LABEL_END        0xffff

//
// The maximum number of VLAN that will be displayed on the menu
//
#define MAX_VLAN_NUMBER  100

//
// Nv Data structure referenced by IFR
//
typedef struct {
  UINT16    VlanId;
  UINT8     Priority;
  UINT8     VlanList[MAX_VLAN_NUMBER];
} VLAN_CONFIGURATION;

#endif
