staging: ks7010: indent ks_hostif.h

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Wolfram Sang 2016-05-31 12:56:31 +02:00 committed by Greg Kroah-Hartman
parent 20c4f9c52e
commit e3d7482607
1 changed files with 256 additions and 257 deletions

View File

@ -62,141 +62,140 @@
*/ */
struct hostif_hdr { struct hostif_hdr {
uint16_t size; uint16_t size;
uint16_t event; uint16_t event;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_data_request_t { struct hostif_data_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t auth_type; uint16_t auth_type;
#define TYPE_DATA 0x0000 #define TYPE_DATA 0x0000
#define TYPE_AUTH 0x0001 #define TYPE_AUTH 0x0001
uint16_t reserved; uint16_t reserved;
uint8_t data[0]; uint8_t data[0];
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_data_indication_t { struct hostif_data_indication_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t auth_type; uint16_t auth_type;
/* #define TYPE_DATA 0x0000 */ /* #define TYPE_DATA 0x0000 */
#define TYPE_PMK1 0x0001 #define TYPE_PMK1 0x0001
#define TYPE_GMK1 0x0002 #define TYPE_GMK1 0x0002
#define TYPE_GMK2 0x0003 #define TYPE_GMK2 0x0003
uint16_t reserved; uint16_t reserved;
uint8_t data[0]; uint8_t data[0];
} __attribute__((packed)); } __attribute__ ((packed));
#define CHANNEL_LIST_MAX_SIZE 14 #define CHANNEL_LIST_MAX_SIZE 14
struct channel_list_t { struct channel_list_t {
uint8_t size; uint8_t size;
uint8_t body[CHANNEL_LIST_MAX_SIZE]; uint8_t body[CHANNEL_LIST_MAX_SIZE];
uint8_t pad; uint8_t pad;
} __attribute__((packed)); } __attribute__ ((packed));
/* MIB Attribute */ /* MIB Attribute */
#define DOT11_MAC_ADDRESS 0x21010100 /* MAC Address (R) */ #define DOT11_MAC_ADDRESS 0x21010100 /* MAC Address (R) */
#define DOT11_PRODUCT_VERSION 0x31024100 /* FirmWare Version (R)*/ #define DOT11_PRODUCT_VERSION 0x31024100 /* FirmWare Version (R) */
#define DOT11_RTS_THRESHOLD 0x21020100 /* RTS Threshold (R/W) */ #define DOT11_RTS_THRESHOLD 0x21020100 /* RTS Threshold (R/W) */
#define DOT11_FRAGMENTATION_THRESHOLD 0x21050100 /* Fragment Threshold (R/W) */ #define DOT11_FRAGMENTATION_THRESHOLD 0x21050100 /* Fragment Threshold (R/W) */
#define DOT11_PRIVACY_INVOKED 0x15010100 /* WEP ON/OFF (W) */ #define DOT11_PRIVACY_INVOKED 0x15010100 /* WEP ON/OFF (W) */
#define DOT11_WEP_DEFAULT_KEY_ID 0x15020100 /* WEP Index (W) */ #define DOT11_WEP_DEFAULT_KEY_ID 0x15020100 /* WEP Index (W) */
#define DOT11_WEP_DEFAULT_KEY_VALUE1 0x13020101 /* WEP Key#1(TKIP AES: PairwiseTemporalKey) (W) */ #define DOT11_WEP_DEFAULT_KEY_VALUE1 0x13020101 /* WEP Key#1(TKIP AES: PairwiseTemporalKey) (W) */
#define DOT11_WEP_DEFAULT_KEY_VALUE2 0x13020102 /* WEP Key#2(TKIP AES: GroupKey1) (W) */ #define DOT11_WEP_DEFAULT_KEY_VALUE2 0x13020102 /* WEP Key#2(TKIP AES: GroupKey1) (W) */
#define DOT11_WEP_DEFAULT_KEY_VALUE3 0x13020103 /* WEP Key#3(TKIP AES: GroupKey2) (W) */ #define DOT11_WEP_DEFAULT_KEY_VALUE3 0x13020103 /* WEP Key#3(TKIP AES: GroupKey2) (W) */
#define DOT11_WEP_DEFAULT_KEY_VALUE4 0x13020104 /* WEP Key#4 (W) */ #define DOT11_WEP_DEFAULT_KEY_VALUE4 0x13020104 /* WEP Key#4 (W) */
#define DOT11_WEP_LIST 0x13020100 /* WEP LIST */ #define DOT11_WEP_LIST 0x13020100 /* WEP LIST */
#define DOT11_DESIRED_SSID 0x11090100 /* SSID */ #define DOT11_DESIRED_SSID 0x11090100 /* SSID */
#define DOT11_CURRENT_CHANNEL 0x45010100 /* channel set */ #define DOT11_CURRENT_CHANNEL 0x45010100 /* channel set */
#define DOT11_OPERATION_RATE_SET 0x11110100 /* rate set */ #define DOT11_OPERATION_RATE_SET 0x11110100 /* rate set */
#define LOCAL_AP_SEARCH_INTEAVAL 0xF1010100 /* AP search interval (R/W) */ #define LOCAL_AP_SEARCH_INTEAVAL 0xF1010100 /* AP search interval (R/W) */
#define LOCAL_CURRENTADDRESS 0xF1050100 /* MAC Adress change (W) */ #define LOCAL_CURRENTADDRESS 0xF1050100 /* MAC Adress change (W) */
#define LOCAL_MULTICAST_ADDRESS 0xF1060100 /* Multicast Adress (W) */ #define LOCAL_MULTICAST_ADDRESS 0xF1060100 /* Multicast Adress (W) */
#define LOCAL_MULTICAST_FILTER 0xF1060200 /* Multicast Adress Filter enable/disable (W) */ #define LOCAL_MULTICAST_FILTER 0xF1060200 /* Multicast Adress Filter enable/disable (W) */
#define LOCAL_SEARCHED_AP_LIST 0xF1030100 /* AP list (R) */ #define LOCAL_SEARCHED_AP_LIST 0xF1030100 /* AP list (R) */
#define LOCAL_LINK_AP_STATUS 0xF1040100 /* Link AP status (R) */ #define LOCAL_LINK_AP_STATUS 0xF1040100 /* Link AP status (R) */
#define LOCAL_PACKET_STATISTICS 0xF1020100 /* tx,rx packets statistics */ #define LOCAL_PACKET_STATISTICS 0xF1020100 /* tx,rx packets statistics */
#define LOCAL_AP_SCAN_LIST_TYPE_SET 0xF1030200 /* AP_SCAN_LIST_TYPE */ #define LOCAL_AP_SCAN_LIST_TYPE_SET 0xF1030200 /* AP_SCAN_LIST_TYPE */
#define DOT11_RSN_ENABLED 0x15070100 /* WPA enable/disable (W) */ #define DOT11_RSN_ENABLED 0x15070100 /* WPA enable/disable (W) */
#define LOCAL_RSN_MODE 0x56010100 /* RSN mode WPA/WPA2 (W) */ #define LOCAL_RSN_MODE 0x56010100 /* RSN mode WPA/WPA2 (W) */
#define DOT11_RSN_CONFIG_MULTICAST_CIPHER 0x51040100 /* GroupKeyCipherSuite (W) */ #define DOT11_RSN_CONFIG_MULTICAST_CIPHER 0x51040100 /* GroupKeyCipherSuite (W) */
#define DOT11_RSN_CONFIG_UNICAST_CIPHER 0x52020100 /* PairwiseKeyCipherSuite (W) */ #define DOT11_RSN_CONFIG_UNICAST_CIPHER 0x52020100 /* PairwiseKeyCipherSuite (W) */
#define DOT11_RSN_CONFIG_AUTH_SUITE 0x53020100 /* AuthenticationKeyManagementSuite (W) */ #define DOT11_RSN_CONFIG_AUTH_SUITE 0x53020100 /* AuthenticationKeyManagementSuite (W) */
#define DOT11_RSN_CONFIG_VERSION 0x51020100 /* RSN version (W) */ #define DOT11_RSN_CONFIG_VERSION 0x51020100 /* RSN version (W) */
#define LOCAL_RSN_CONFIG_ALL 0x5F010100 /* RSN CONFIG ALL (W) */ #define LOCAL_RSN_CONFIG_ALL 0x5F010100 /* RSN CONFIG ALL (W) */
#define DOT11_PMK_TSC 0x55010100 /* PMK_TSC (W) */ #define DOT11_PMK_TSC 0x55010100 /* PMK_TSC (W) */
#define DOT11_GMK1_TSC 0x55010101 /* GMK1_TSC (W) */ #define DOT11_GMK1_TSC 0x55010101 /* GMK1_TSC (W) */
#define DOT11_GMK2_TSC 0x55010102 /* GMK2_TSC (W) */ #define DOT11_GMK2_TSC 0x55010102 /* GMK2_TSC (W) */
#define DOT11_GMK3_TSC 0x55010103 /* GMK3_TSC */ #define DOT11_GMK3_TSC 0x55010103 /* GMK3_TSC */
#define LOCAL_PMK 0x58010100 /* Pairwise Master Key cache (W) */ #define LOCAL_PMK 0x58010100 /* Pairwise Master Key cache (W) */
#define LOCAL_REGION 0xF10A0100 /* Region setting */ #define LOCAL_REGION 0xF10A0100 /* Region setting */
#ifdef WPS #ifdef WPS
#define LOCAL_WPS_ENABLE 0xF10B0100 /* WiFi Protected Setup */ #define LOCAL_WPS_ENABLE 0xF10B0100 /* WiFi Protected Setup */
#define LOCAL_WPS_PROBE_REQ 0xF10C0100 /* WPS Probe Request */ #define LOCAL_WPS_PROBE_REQ 0xF10C0100 /* WPS Probe Request */
#endif /* WPS */ #endif /* WPS */
#define LOCAL_GAIN 0xF10D0100 /* Carrer sense threshold for demo ato show */ #define LOCAL_GAIN 0xF10D0100 /* Carrer sense threshold for demo ato show */
#define LOCAL_EEPROM_SUM 0xF10E0100 /* EEPROM checksum information */ #define LOCAL_EEPROM_SUM 0xF10E0100 /* EEPROM checksum information */
struct hostif_mib_get_request_t { struct hostif_mib_get_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint32_t mib_attribute; uint32_t mib_attribute;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_mib_value_t { struct hostif_mib_value_t {
uint16_t size; uint16_t size;
uint16_t type; uint16_t type;
#define MIB_VALUE_TYPE_NULL 0 #define MIB_VALUE_TYPE_NULL 0
#define MIB_VALUE_TYPE_INT 1 #define MIB_VALUE_TYPE_INT 1
#define MIB_VALUE_TYPE_BOOL 2 #define MIB_VALUE_TYPE_BOOL 2
#define MIB_VALUE_TYPE_COUNT32 3 #define MIB_VALUE_TYPE_COUNT32 3
#define MIB_VALUE_TYPE_OSTRING 4 #define MIB_VALUE_TYPE_OSTRING 4
uint8_t body[0]; uint8_t body[0];
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_mib_get_confirm_t { struct hostif_mib_get_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint32_t mib_status; uint32_t mib_status;
#define MIB_SUCCESS 0 #define MIB_SUCCESS 0
#define MIB_INVALID 1 #define MIB_INVALID 1
#define MIB_READ_ONLY 2 #define MIB_READ_ONLY 2
#define MIB_WRITE_ONLY 3 #define MIB_WRITE_ONLY 3
uint32_t mib_attribute; uint32_t mib_attribute;
struct hostif_mib_value_t mib_value; struct hostif_mib_value_t mib_value;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_mib_set_request_t { struct hostif_mib_set_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint32_t mib_attribute; uint32_t mib_attribute;
struct hostif_mib_value_t mib_value; struct hostif_mib_value_t mib_value;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_mib_set_confirm_t { struct hostif_mib_set_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint32_t mib_status; uint32_t mib_status;
uint32_t mib_attribute; uint32_t mib_attribute;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_power_mngmt_request_t { struct hostif_power_mngmt_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint32_t mode; uint32_t mode;
#define POWER_ACTIVE 1 #define POWER_ACTIVE 1
#define POWER_SAVE 2 #define POWER_SAVE 2
uint32_t wake_up; uint32_t wake_up;
#define SLEEP_FALSE 0 #define SLEEP_FALSE 0
#define SLEEP_TRUE 1 /* not used */ #define SLEEP_TRUE 1 /* not used */
uint32_t receiveDTIMs; uint32_t receiveDTIMs;
#define DTIM_FALSE 0 #define DTIM_FALSE 0
#define DTIM_TRUE 1 #define DTIM_TRUE 1
} __attribute__((packed)); } __attribute__ ((packed));
/* power management mode */ /* power management mode */
enum { enum {
POWMGT_ACTIVE_MODE=0, POWMGT_ACTIVE_MODE = 0,
POWMGT_SAVE1_MODE, POWMGT_SAVE1_MODE,
POWMGT_SAVE2_MODE POWMGT_SAVE2_MODE
}; };
@ -209,84 +208,83 @@ enum {
struct hostif_power_mngmt_confirm_t { struct hostif_power_mngmt_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_start_request_t { struct hostif_start_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t mode; uint16_t mode;
#define MODE_PSEUDO_ADHOC 0 #define MODE_PSEUDO_ADHOC 0
#define MODE_INFRASTRUCTURE 1 #define MODE_INFRASTRUCTURE 1
#define MODE_AP 2 /* not used */ #define MODE_AP 2 /* not used */
#define MODE_ADHOC 3 #define MODE_ADHOC 3
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_start_confirm_t { struct hostif_start_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
} __attribute__((packed)); } __attribute__ ((packed));
#define SSID_MAX_SIZE 32 #define SSID_MAX_SIZE 32
struct ssid_t { struct ssid_t {
uint8_t size; uint8_t size;
uint8_t body[SSID_MAX_SIZE]; uint8_t body[SSID_MAX_SIZE];
uint8_t ssid_pad; uint8_t ssid_pad;
} __attribute__((packed)); } __attribute__ ((packed));
#define RATE_SET_MAX_SIZE 16 #define RATE_SET_MAX_SIZE 16
struct rate_set8_t { struct rate_set8_t {
uint8_t size; uint8_t size;
uint8_t body[8]; uint8_t body[8];
uint8_t rate_pad; uint8_t rate_pad;
} __attribute__((packed)); } __attribute__ ((packed));
struct FhParms_t { struct FhParms_t {
uint16_t dwellTime; uint16_t dwellTime;
uint8_t hopSet; uint8_t hopSet;
uint8_t hopPattern; uint8_t hopPattern;
uint8_t hopIndex; uint8_t hopIndex;
} __attribute__((packed)); } __attribute__ ((packed));
struct DsParms_t { struct DsParms_t {
uint8_t channel; uint8_t channel;
} __attribute__((packed)); } __attribute__ ((packed));
struct CfParms_t { struct CfParms_t {
uint8_t count; uint8_t count;
uint8_t period; uint8_t period;
uint16_t maxDuration; uint16_t maxDuration;
uint16_t durRemaining; uint16_t durRemaining;
} __attribute__((packed)); } __attribute__ ((packed));
struct IbssParms_t { struct IbssParms_t {
uint16_t atimWindow; uint16_t atimWindow;
} __attribute__((packed)); } __attribute__ ((packed));
struct rsn_t { struct rsn_t {
uint8_t size; uint8_t size;
#define RSN_BODY_SIZE 64 #define RSN_BODY_SIZE 64
uint8_t body[RSN_BODY_SIZE]; uint8_t body[RSN_BODY_SIZE];
} __attribute__((packed)); } __attribute__ ((packed));
struct ErpParams_t { struct ErpParams_t {
uint8_t erp_info; uint8_t erp_info;
} __attribute__((packed)); } __attribute__ ((packed));
struct rate_set16_t{ struct rate_set16_t {
uint8_t size; uint8_t size;
uint8_t body[16]; uint8_t body[16];
uint8_t rate_pad; uint8_t rate_pad;
} __attribute__((packed)); } __attribute__ ((packed));
struct ap_info_t{ struct ap_info_t {
uint8_t bssid[6]; /* +00 */ uint8_t bssid[6]; /* +00 */
uint8_t rssi; /* +06 */ uint8_t rssi; /* +06 */
uint8_t sq; /* +07 */ uint8_t sq; /* +07 */
uint8_t noise; /* +08 */ uint8_t noise; /* +08 */
uint8_t pad0; /* +09 */ uint8_t pad0; /* +09 */
uint16_t beacon_period; /* +10 */ uint16_t beacon_period; /* +10 */
uint16_t capability; /* +12 */ uint16_t capability; /* +12 */
#define BSS_CAP_ESS (1<<0) #define BSS_CAP_ESS (1<<0)
#define BSS_CAP_IBSS (1<<1) #define BSS_CAP_IBSS (1<<1)
#define BSS_CAP_CF_POLABLE (1<<2) #define BSS_CAP_CF_POLABLE (1<<2)
@ -297,178 +295,176 @@ struct ap_info_t{
#define BSS_CAP_CHANNEL_AGILITY (1<<7) #define BSS_CAP_CHANNEL_AGILITY (1<<7)
#define BSS_CAP_SHORT_SLOT_TIME (1<<10) #define BSS_CAP_SHORT_SLOT_TIME (1<<10)
#define BSS_CAP_DSSS_OFDM (1<<13) #define BSS_CAP_DSSS_OFDM (1<<13)
uint8_t frame_type; /* +14 */ uint8_t frame_type; /* +14 */
uint8_t ch_info; /* +15 */ uint8_t ch_info; /* +15 */
#define FRAME_TYPE_BEACON 0x80 #define FRAME_TYPE_BEACON 0x80
#define FRAME_TYPE_PROBE_RESP 0x50 #define FRAME_TYPE_PROBE_RESP 0x50
uint16_t body_size; /* +16 */ uint16_t body_size; /* +16 */
uint8_t body[1024]; /* +18 */ uint8_t body[1024]; /* +18 */
/* +1032 */ /* +1032 */
} __attribute__((packed)); } __attribute__ ((packed));
struct link_ap_info_t{ struct link_ap_info_t {
uint8_t bssid[6]; /* +00 */ uint8_t bssid[6]; /* +00 */
uint8_t rssi; /* +06 */ uint8_t rssi; /* +06 */
uint8_t sq; /* +07 */ uint8_t sq; /* +07 */
uint8_t noise; /* +08 */ uint8_t noise; /* +08 */
uint8_t pad0; /* +09 */ uint8_t pad0; /* +09 */
uint16_t beacon_period; /* +10 */ uint16_t beacon_period; /* +10 */
uint16_t capability; /* +12 */ uint16_t capability; /* +12 */
struct rate_set8_t rate_set; /* +14 */ struct rate_set8_t rate_set; /* +14 */
struct FhParms_t fh_parameter; /* +24 */ struct FhParms_t fh_parameter; /* +24 */
struct DsParms_t ds_parameter; /* +29 */ struct DsParms_t ds_parameter; /* +29 */
struct CfParms_t cf_parameter; /* +30 */ struct CfParms_t cf_parameter; /* +30 */
struct IbssParms_t ibss_parameter; /* +36 */ struct IbssParms_t ibss_parameter; /* +36 */
struct ErpParams_t erp_parameter; /* +38 */ struct ErpParams_t erp_parameter; /* +38 */
uint8_t pad1; /* +39 */ uint8_t pad1; /* +39 */
struct rate_set8_t ext_rate_set; /* +40 */ struct rate_set8_t ext_rate_set; /* +40 */
uint8_t DTIM_period; /* +50 */ uint8_t DTIM_period; /* +50 */
uint8_t rsn_mode; /* +51 */ uint8_t rsn_mode; /* +51 */
#define RSN_MODE_NONE 0 #define RSN_MODE_NONE 0
#define RSN_MODE_WPA 1 #define RSN_MODE_WPA 1
#define RSN_MODE_WPA2 2 #define RSN_MODE_WPA2 2
struct { struct {
uint8_t size; /* +52 */ uint8_t size; /* +52 */
uint8_t body[128]; /* +53 */ uint8_t body[128]; /* +53 */
} __attribute__((packed)) rsn; } __attribute__ ((packed)) rsn;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_connect_indication_t { struct hostif_connect_indication_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t connect_code; uint16_t connect_code;
#define RESULT_CONNECT 0 #define RESULT_CONNECT 0
#define RESULT_DISCONNECT 1 #define RESULT_DISCONNECT 1
struct link_ap_info_t link_ap_info; struct link_ap_info_t link_ap_info;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_stop_request_t { struct hostif_stop_request_t {
struct hostif_hdr header; struct hostif_hdr header;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_stop_confirm_t { struct hostif_stop_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_ps_adhoc_set_request_t { struct hostif_ps_adhoc_set_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t phy_type; uint16_t phy_type;
#define D_11B_ONLY_MODE 0 #define D_11B_ONLY_MODE 0
#define D_11G_ONLY_MODE 1 #define D_11G_ONLY_MODE 1
#define D_11BG_COMPATIBLE_MODE 2 #define D_11BG_COMPATIBLE_MODE 2
#define D_11A_ONLY_MODE 3 #define D_11A_ONLY_MODE 3
uint16_t cts_mode; uint16_t cts_mode;
#define CTS_MODE_FALSE 0 #define CTS_MODE_FALSE 0
#define CTS_MODE_TRUE 1 #define CTS_MODE_TRUE 1
uint16_t channel; uint16_t channel;
struct rate_set16_t rate_set; struct rate_set16_t rate_set;
uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0 uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0
* bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */ * bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */
uint16_t scan_type; uint16_t scan_type;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_ps_adhoc_set_confirm_t { struct hostif_ps_adhoc_set_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_infrastructure_set_request_t { struct hostif_infrastructure_set_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t phy_type; uint16_t phy_type;
uint16_t cts_mode; uint16_t cts_mode;
struct rate_set16_t rate_set; struct rate_set16_t rate_set;
struct ssid_t ssid; struct ssid_t ssid;
uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0 uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0
* bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */ * bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */
uint16_t beacon_lost_count; uint16_t beacon_lost_count;
uint16_t auth_type; uint16_t auth_type;
#define AUTH_TYPE_OPEN_SYSTEM 0 #define AUTH_TYPE_OPEN_SYSTEM 0
#define AUTH_TYPE_SHARED_KEY 1 #define AUTH_TYPE_SHARED_KEY 1
struct channel_list_t channel_list; struct channel_list_t channel_list;
uint16_t scan_type; uint16_t scan_type;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_infrastructure_set2_request_t { struct hostif_infrastructure_set2_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t phy_type; uint16_t phy_type;
uint16_t cts_mode; uint16_t cts_mode;
struct rate_set16_t rate_set; struct rate_set16_t rate_set;
struct ssid_t ssid; struct ssid_t ssid;
uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0 uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0
* bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */ * bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */
uint16_t beacon_lost_count; uint16_t beacon_lost_count;
uint16_t auth_type; uint16_t auth_type;
#define AUTH_TYPE_OPEN_SYSTEM 0 #define AUTH_TYPE_OPEN_SYSTEM 0
#define AUTH_TYPE_SHARED_KEY 1 #define AUTH_TYPE_SHARED_KEY 1
struct channel_list_t channel_list; struct channel_list_t channel_list;
uint16_t scan_type; uint16_t scan_type;
uint8_t bssid[ETH_ALEN]; uint8_t bssid[ETH_ALEN];
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_infrastructure_set_confirm_t { struct hostif_infrastructure_set_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_adhoc_set_request_t { struct hostif_adhoc_set_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t phy_type; uint16_t phy_type;
uint16_t cts_mode; uint16_t cts_mode;
uint16_t channel; uint16_t channel;
struct rate_set16_t rate_set; struct rate_set16_t rate_set;
struct ssid_t ssid; struct ssid_t ssid;
uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0 uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0
* bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */ * bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */
uint16_t scan_type; uint16_t scan_type;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_adhoc_set2_request_t { struct hostif_adhoc_set2_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t phy_type; uint16_t phy_type;
uint16_t cts_mode; uint16_t cts_mode;
uint16_t reserved; uint16_t reserved;
struct rate_set16_t rate_set; struct rate_set16_t rate_set;
struct ssid_t ssid; struct ssid_t ssid;
uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0 uint16_t capability; /* bit5:preamble bit6:pbcc pbcc not supported always 0
* bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */ * bit10:ShortSlotTime bit13:DSSS-OFDM DSSS-OFDM not supported always 0 */
uint16_t scan_type; uint16_t scan_type;
struct channel_list_t channel_list; struct channel_list_t channel_list;
uint8_t bssid[ETH_ALEN]; uint8_t bssid[ETH_ALEN];
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_adhoc_set_confirm_t { struct hostif_adhoc_set_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
} __attribute__((packed)); } __attribute__ ((packed));
struct last_associate_t { struct last_associate_t {
uint8_t type; uint8_t type;
uint8_t status; uint8_t status;
} __attribute__((packed)); } __attribute__ ((packed));
struct association_request_t { struct association_request_t {
uint8_t type; uint8_t type;
#define FRAME_TYPE_ASSOC_REQ 0x00 #define FRAME_TYPE_ASSOC_REQ 0x00
#define FRAME_TYPE_REASSOC_REQ 0x20 #define FRAME_TYPE_REASSOC_REQ 0x20
uint8_t pad; uint8_t pad;
uint16_t capability; uint16_t capability;
uint16_t listen_interval; uint16_t listen_interval;
uint8_t ap_address[6]; uint8_t ap_address[6];
uint16_t reqIEs_size; uint16_t reqIEs_size;
} __attribute__((packed)); } __attribute__ ((packed));
struct association_response_t { struct association_response_t {
uint8_t type; uint8_t type;
#define FRAME_TYPE_ASSOC_RESP 0x10 #define FRAME_TYPE_ASSOC_RESP 0x10
#define FRAME_TYPE_REASSOC_RESP 0x30 #define FRAME_TYPE_REASSOC_RESP 0x30
uint8_t pad; uint8_t pad;
uint16_t capability; uint16_t capability;
uint16_t status; uint16_t status;
uint16_t association_id; uint16_t association_id;
uint16_t respIEs_size; uint16_t respIEs_size;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_associate_indication_t { struct hostif_associate_indication_t {
struct hostif_hdr header; struct hostif_hdr header;
@ -476,68 +472,68 @@ struct hostif_associate_indication_t {
struct association_response_t assoc_resp; struct association_response_t assoc_resp;
/* followed by (reqIEs_size + respIEs_size) octets of data */ /* followed by (reqIEs_size + respIEs_size) octets of data */
/* reqIEs data *//* respIEs data */ /* reqIEs data *//* respIEs data */
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_bss_scan_request_t { struct hostif_bss_scan_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint8_t scan_type; uint8_t scan_type;
#define ACTIVE_SCAN 0 #define ACTIVE_SCAN 0
#define PASSIVE_SCAN 1 #define PASSIVE_SCAN 1
uint8_t pad[3]; uint8_t pad[3];
uint32_t ch_time_min; uint32_t ch_time_min;
uint32_t ch_time_max; uint32_t ch_time_max;
struct channel_list_t channel_list; struct channel_list_t channel_list;
struct ssid_t ssid; struct ssid_t ssid;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_bss_scan_confirm_t { struct hostif_bss_scan_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
uint16_t reserved; uint16_t reserved;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_phy_information_request_t { struct hostif_phy_information_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t type; uint16_t type;
#define NORMAL_TYPE 0 #define NORMAL_TYPE 0
#define TIME_TYPE 1 #define TIME_TYPE 1
uint16_t time; /* unit 100ms */ uint16_t time; /* unit 100ms */
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_phy_information_confirm_t { struct hostif_phy_information_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint8_t rssi; uint8_t rssi;
uint8_t sq; uint8_t sq;
uint8_t noise; uint8_t noise;
uint8_t link_speed; uint8_t link_speed;
uint32_t tx_frame; uint32_t tx_frame;
uint32_t rx_frame; uint32_t rx_frame;
uint32_t tx_error; uint32_t tx_error;
uint32_t rx_error; uint32_t rx_error;
} __attribute__((packed)); } __attribute__ ((packed));
/* sleep mode */ /* sleep mode */
#define SLP_ACTIVE 0 #define SLP_ACTIVE 0
#define SLP_SLEEP 1 #define SLP_SLEEP 1
struct hostif_sleep_request_t { struct hostif_sleep_request_t {
struct hostif_hdr header; struct hostif_hdr header;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_sleep_confirm_t { struct hostif_sleep_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_mic_failure_request_t { struct hostif_mic_failure_request_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t failure_count; uint16_t failure_count;
uint16_t timer; uint16_t timer;
} __attribute__((packed)); } __attribute__ ((packed));
struct hostif_mic_failure_confirm_t { struct hostif_mic_failure_confirm_t {
struct hostif_hdr header; struct hostif_hdr header;
uint16_t result_code; uint16_t result_code;
} __attribute__((packed)); } __attribute__ ((packed));
#define BASIC_RATE 0x80 #define BASIC_RATE 0x80
#define RATE_MASK 0x7F #define RATE_MASK 0x7F
@ -557,13 +553,13 @@ struct hostif_mic_failure_confirm_t {
#define TX_RATE_FIXED 5 #define TX_RATE_FIXED 5
/* 11b rate */ /* 11b rate */
#define TX_RATE_1M (uint8_t)(10/5) /* 11b 11g basic rate */ #define TX_RATE_1M (uint8_t)(10/5) /* 11b 11g basic rate */
#define TX_RATE_2M (uint8_t)(20/5) /* 11b 11g basic rate */ #define TX_RATE_2M (uint8_t)(20/5) /* 11b 11g basic rate */
#define TX_RATE_5M (uint8_t)(55/5) /* 11g basic rate */ #define TX_RATE_5M (uint8_t)(55/5) /* 11g basic rate */
#define TX_RATE_11M (uint8_t)(110/5) /* 11g basic rate */ #define TX_RATE_11M (uint8_t)(110/5) /* 11g basic rate */
/* 11g rate */ /* 11g rate */
#define TX_RATE_6M (uint8_t)(60/5) /* 11g basic rate */ #define TX_RATE_6M (uint8_t)(60/5) /* 11g basic rate */
#define TX_RATE_12M (uint8_t)(120/5) /* 11g basic rate */ #define TX_RATE_12M (uint8_t)(120/5) /* 11g basic rate */
#define TX_RATE_24M (uint8_t)(240/5) /* 11g basic rate */ #define TX_RATE_24M (uint8_t)(240/5) /* 11g basic rate */
#define TX_RATE_9M (uint8_t)(90/5) #define TX_RATE_9M (uint8_t)(90/5)
@ -587,13 +583,13 @@ struct hostif_mic_failure_confirm_t {
((A&RATE_MASK)==TX_RATE_54M)) ((A&RATE_MASK)==TX_RATE_54M))
enum { enum {
CONNECT_STATUS=0, CONNECT_STATUS = 0,
DISCONNECT_STATUS DISCONNECT_STATUS
}; };
/* preamble type */ /* preamble type */
enum { enum {
LONG_PREAMBLE=0, LONG_PREAMBLE = 0,
SHORT_PREAMBLE SHORT_PREAMBLE
}; };
@ -623,26 +619,29 @@ enum {
#include "ks_wlan.h" #include "ks_wlan.h"
/* function prototype */ /* function prototype */
extern int hostif_data_request( struct ks_wlan_private *priv, struct sk_buff *packet ); extern int hostif_data_request(struct ks_wlan_private *priv,
extern void hostif_receive( struct ks_wlan_private *priv, unsigned char *p, unsigned int size ); struct sk_buff *packet);
extern void hostif_receive(struct ks_wlan_private *priv, unsigned char *p,
unsigned int size);
extern void hostif_sme_enqueue(struct ks_wlan_private *priv, uint16_t event); extern void hostif_sme_enqueue(struct ks_wlan_private *priv, uint16_t event);
extern int hostif_init( struct ks_wlan_private *priv ); extern int hostif_init(struct ks_wlan_private *priv);
extern void hostif_exit( struct ks_wlan_private *priv ); extern void hostif_exit(struct ks_wlan_private *priv);
static static
inline int hif_align_size(int size) inline int hif_align_size(int size)
{ {
#ifdef KS_ATOM #ifdef KS_ATOM
if( size < 1024 ) if (size < 1024)
size = 1024; size = 1024;
#endif #endif
#ifdef DEVICE_ALIGNMENT #ifdef DEVICE_ALIGNMENT
return (size%DEVICE_ALIGNMENT) ? size + DEVICE_ALIGNMENT - (size % DEVICE_ALIGNMENT) : size; return (size % DEVICE_ALIGNMENT) ? size + DEVICE_ALIGNMENT -
(size % DEVICE_ALIGNMENT) : size;
#else #else
return size; return size;
#endif #endif
} }
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _KS_HOSTIF_H_ */ #endif /* _KS_HOSTIF_H_ */