#ifndef _ACX_IE_H_
#define _ACX_IE_H_

#include "acx.h"

enum acx_ie {
	ACX1xx_IE_UNKNOWN_00,
	ACX100_IE_ACX_TIMER,
	ACX100_IE_POWER_MGMT,
	ACX111_IE_POWER_MGMT,
	ACX100_IE_QUEUE_CONFIG,
	ACX111_IE_QUEUE_CONFIG,
	ACX100_IE_BLOCK_SIZE,
	ACX1FF_IE_SLOT_TIME,
	ACX100_IE_MEMORY_CONFIG_OPTIONS,
	ACX111_IE_MEMORY_CONFIG_OPTIONS,
	ACX1FF_IE_QUEUE_HEAD,
	ACX1xx_IE_RATE_FALLBACK,
	ACX100_IE_WEP_OPTIONS,
	ACX111_IE_RADIO_BAND,
	ACX1FF_IE_TIMING_CFG,
	ACX100_IE_SSID,
	ACX1xx_IE_MEMORY_MAP,
	ACX1xx_IE_SCAN_STATUS,
	ACX1xx_IE_ASSOC_ID,
	ACX1xx_IE_UNKNOWN_0B,
	ACX1FF_IE_TX_POWER_LEVEL_TABLE,
	ACX100_IE_UNKNOWN_0C,
	ACX111_IE_CONFIG_OPTIONS,
	ACX1xx_IE_FWREV,
	ACX1xx_IE_FCS_ERROR_COUNT,
	ACX1xx_IE_MEDIUM_USAGE,
	ACX1xx_IE_RXCONFIG,
	ACX100_IE_UNKNOWN_11,
	ACX111_IE_QUEUE_THRESH,
	ACX100_IE_UNKNOWN_12,
	ACX111_IE_BSS_POWER_SAVE,
	ACX1xx_IE_FIRMWARE_STATISTICS,
	ACX1FF_IE_RX_INTR_CONFIG,
	ACX1xx_IE_FEATURE_CONFIG,
	ACX111_IE_KEY_CHOOSE,
	ACX1FF_IE_MISC_CONFIG_TABLE,
	ACX1FF_IE_WONE_CONFIG,
	ACX1FF_IE_TID_CONFIG,
	ACX1FF_IE_CALIB_ASSESSMENT,
	ACX1FF_IE_BEACON_FILTER_OPTIONS,
	ACX1FF_IE_LOW_RSSI_THRESH_OPT,
	ACX1FF_IE_NOISE_HISTOGRAM_RESULTS,
	ACX1FF_IE_PACKET_DETECT_THRESH,
	ACX1FF_IE_TX_CONFIG_OPTIONS,
	ACX1FF_IE_CCA_THRESHOLD,
	ACX1FF_IE_EVENT_MASK,
	ACX1FF_IE_DTIM_PERIOD,
	ACX1FF_IE_ACI_CONFIG_SET,
	ACX1FF_IE_EEPROM_VER,
	ACX1xx_IE_DOT11_STATION_ID,
	ACX100_IE_DOT11_UNKNOWN_1002,
	ACX111_IE_DOT11_FRAG_THRESH,
	ACX100_IE_DOT11_BEACON_PERIOD,
	ACX1xx_IE_DOT11_DTIM_PERIOD,
	ACX1FF_IE_DOT11_MAX_RX_LIFETIME,
	ACX1xx_IE_DOT11_SHORT_RETRY_LIMIT,
	ACX1xx_IE_DOT11_LONG_RETRY_LIMIT,
	ACX100_IE_DOT11_WEP_DEFAULT_KEY_WRITE,
	ACX1xx_IE_DOT11_MAX_XMIT_MSDU_LIFETIME,
	ACX1xx_IE_DOT11_GROUP_ADDR,
	ACX1xx_IE_DOT11_CURRENT_REG_DOMAIN,
	ACX1xx_IE_DOT11_CURRENT_ANTENNA,
	ACX1xx_IE_DOT11_UNKNOWN_100C,
	ACX1xx_IE_DOT11_TX_POWER_LEVEL,
	ACX1xx_IE_DOT11_CURRENT_CCA_MODE,
	ACX100_IE_DOT11_ED_THRESHOLD,
	ACX1xx_IE_DOT11_WEP_DEFAULT_KEY_SET,
	ACX100_IE_DOT11_UNKNOWN_1011,
	ACX1FF_IE_DOT11_CURR_5GHZ_REGDOM,
	ACX100_IE_DOT11_UNKNOWN_1012,
	ACX100_IE_DOT11_UNKNOWN_1013
};

struct acx_ie_desc {
	int val;
	int len;
	const char* name;
};

extern const struct acx_ie_desc acx_ie_descs[];

int acx_ie_get_max_len(void);

#endif
