255 lines
8.8 KiB
C
255 lines
8.8 KiB
C
#ifndef _HUGE_IC_H_
|
|
#define _HUGE_IC_H_
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef __RTOS__
|
|
#define HGIC_CMD_START 100
|
|
#else
|
|
#define HGIC_CMD_START 0
|
|
#endif
|
|
|
|
typedef void (*hgic_init_cb)(void *args);
|
|
typedef void (*hgic_event_cb)(char *ifname, int event, int param1, int param2);
|
|
|
|
struct hgic_bss_info {
|
|
unsigned char bssid[6];
|
|
unsigned char ssid[32];
|
|
unsigned char encrypt;
|
|
char signal;
|
|
unsigned short freq;
|
|
};
|
|
|
|
struct hgic_fw_info {
|
|
unsigned int version;
|
|
unsigned int svn_version;
|
|
unsigned short chip_id;
|
|
unsigned short cpu_id;
|
|
unsigned char mac[6];
|
|
};
|
|
|
|
struct hgic_sta_info {
|
|
unsigned char aid;
|
|
unsigned char ps:1;
|
|
unsigned char addr[6];
|
|
char rssi;
|
|
char evm;
|
|
};
|
|
|
|
struct hgic_freqinfo {
|
|
unsigned char bss_bw, chan_cnt;
|
|
unsigned short freq_start, freq_end;
|
|
unsigned short chan_list[16];
|
|
};
|
|
|
|
struct hgic_module_hwinfo{
|
|
union{
|
|
struct{
|
|
unsigned char type;
|
|
unsigned char saw:1, rev:7;
|
|
};
|
|
unsigned short v;
|
|
};
|
|
};
|
|
|
|
enum hgic_cmd {
|
|
HGIC_CMD_DEV_OPEN = HGIC_CMD_START + 0x01, // 1
|
|
HGIC_CMD_DEV_CLOSE, // 2
|
|
HGIC_CMD_SET_MAC, // 3
|
|
HGIC_CMD_SET_SSID, // 4
|
|
HGIC_CMD_SET_BSSID, // 5
|
|
HGIC_CMD_SET_COUNTERY, // 6
|
|
HGIC_CMD_SET_CHANNEL, // 7
|
|
HGIC_CMD_SET_CENTER_FREQ, // 8
|
|
HGIC_CMD_SET_RTS_THRESHOLD, // 9
|
|
HGIC_CMD_SET_FRG_THRESHOLD, // 10
|
|
HGIC_CMD_SET_KEY_MGMT, // 11
|
|
HGIC_CMD_SET_WPA_PSK, // 12
|
|
HGIC_CMD_SET_KEY, // 13
|
|
HGIC_CMD_SCAN, // 14
|
|
HGIC_CMD_GET_SCAN_LIST, // 15
|
|
HGIC_CMD_SET_BSSID_FILTER, // 16
|
|
HGIC_CMD_DISCONNECT, // 17
|
|
HGIC_CMD_GET_BSSID, // 18
|
|
HGIC_CMD_SET_WBNAT, // 19
|
|
HGIC_CMD_GET_STATUS, // 20
|
|
HGIC_CMD_SET_LISTEN_INTERVAL, // 21
|
|
HGIC_CMD_SET_TX_POWER, // 22
|
|
HGIC_CMD_GET_TX_POWER, // 23
|
|
HGIC_CMD_SET_TX_LCOUNT, // 24
|
|
HGIC_CMD_SET_TX_SCOUNT, // 25
|
|
HGIC_CMD_ADD_STA, // 26
|
|
HGIC_CMD_REMOVE_STA, // 27
|
|
HGIC_CMD_SET_TX_BW, // 28
|
|
HGIC_CMD_SET_TX_MCS, // 29
|
|
HGIC_CMD_SET_FREQ_RANGE, // 30
|
|
HGIC_CMD_ACS_ENABLE, // 31
|
|
HGIC_CMD_SET_PRIMARY_CHAN, // 32
|
|
HGIC_CMD_SET_BG_RSSI, // 33
|
|
HGIC_CMD_SET_BSS_BW, // 34
|
|
HGIC_CMD_TESTMODE_CMD, // 35
|
|
HGIC_CMD_SET_AID, // 36
|
|
HGIC_CMD_GET_FW_STATE, // 37
|
|
HGIC_CMD_SET_TXQ_PARAM, // 38
|
|
HGIC_CMD_SET_CHAN_LIST, // 39
|
|
HGIC_CMD_GET_CONN_STATE, // 40
|
|
HGIC_CMD_SET_WORK_MODE, // 41
|
|
HGIC_CMD_SET_PAIRED_STATIONS, // 42
|
|
HGIC_CMD_GET_FW_INFO, // 43
|
|
HGIC_CMD_PAIRING, // 44
|
|
HGIC_CMD_GET_TEMPERATURE, // 45
|
|
HGIC_CMD_ENTER_SLEEP, // 46
|
|
HGIC_CMD_OTA, // 47
|
|
HGIC_CMD_GET_SSID, // 48
|
|
HGIC_CMD_GET_WPA_PSK, // 49
|
|
HGIC_CMD_GET_SIGNAL, // 50
|
|
HGIC_CMD_GET_TX_BITRATE, // 51
|
|
HGIC_CMD_SET_BEACON_INT, // 52
|
|
HGIC_CMD_GET_STA_LIST, // 53
|
|
HGIC_CMD_SAVE_CFG, // 54
|
|
HGIC_CMD_JOIN_GROUP, // 55
|
|
HGIC_CMD_SET_ETHER_TYPE, // 56
|
|
HGIC_CMD_GET_STA_COUNT, // 57
|
|
HGIC_CMD_SET_HEARTBEAT_INT, // 58
|
|
HGIC_CMD_SET_MCAST_KEY, // 59
|
|
HGIC_CMD_SET_AGG_CNT, // 60
|
|
HGIC_CMD_GET_AGG_CNT, // 61
|
|
HGIC_CMD_GET_BSS_BW , // 62
|
|
HGIC_CMD_GET_FREQ_RANGE, // 63
|
|
HGIC_CMD_GET_CHAN_LIST, // 64
|
|
HGIC_CMD_RADIO_ONOFF, // 65
|
|
HGIC_CMD_SET_PS_HEARTBEAT, // 66
|
|
HGIC_CMD_SET_WAKEUP_STA, // 67
|
|
HGIC_CMD_SET_PS_HEARTBEAT_RESP, // 68
|
|
HGIC_CMD_SET_PS_WAKEUP_DATA, // 69
|
|
HGIC_CMD_SET_PS_CONNECT, // 70
|
|
HGIC_CMD_SET_BSS_MAX_IDLE, // 71
|
|
HGIC_CMD_SET_WKIO_MODE, // 72
|
|
HGIC_CMD_SET_DTIM_PERIOD, // 73
|
|
HGIC_CMD_SET_PS_MODE, // 74
|
|
HGIC_CMD_LOAD_DEF, // 75
|
|
HGIC_CMD_DISASSOC_STA, // 76
|
|
HGIC_CMD_SET_APLOST_TIME, // 77
|
|
HGIC_CMD_GET_WAKEUP_REASON, // 78
|
|
HGIC_CMD_UNPAIR, // 79
|
|
HGIC_CMD_SET_AUTO_CHAN_SWITCH, // 80
|
|
HGIC_CMD_SET_REASSOC_WKHOST, // 81
|
|
HGIC_CMD_SET_WAKEUP_IO, // 82
|
|
HGIC_CMD_DBGINFO_OUTPUT, // 83
|
|
HGIC_CMD_SET_SYSDBG, // 84
|
|
HGIC_CMD_SET_AUTO_SLEEP_TIME, // 85
|
|
HGIC_CMD_GET_KEY_MGMT, // 86
|
|
HGIC_CMD_SET_PAIR_AUTOSTOP, // 87
|
|
HGIC_CMD_SET_SUPPER_PWR, // 88
|
|
HGIC_CMD_SET_REPEATER_SSID, // 89
|
|
HGIC_CMD_SET_REPEATER_PSK, // 90
|
|
HGIC_CMD_CFG_AUTO_SAVE, // 91
|
|
HGIC_CMD_SEND_CUST_MGMT, // 92
|
|
HGIC_CMD_GET_BATTERY_LEVEL, // 93
|
|
HGIC_CMD_SET_DCDC13, // 94
|
|
HGIC_CMD_SET_ACKTMO, // 95
|
|
HGIC_CMD_GET_MODULETYPE, // 96
|
|
HGIC_CMD_PA_PWRCTRL_DIS, // 97
|
|
HGIC_CMD_SET_DHCPC, // 98
|
|
HGIC_CMD_GET_DHCPC_RESULT, // 99
|
|
HGIC_CMD_SET_WKUPDATA_MASK, // 100
|
|
HGIC_CMD_GET_WKDATA_BUFF, // 101
|
|
HGIC_CMD_GET_DISASSOC_REASON, // 102
|
|
HGIC_CMD_SET_WKUPDATA_SAVEEN, // 103
|
|
HGIC_CMD_SET_CUST_DRIVER_DATA, // 104
|
|
HGIC_CMD_SET_MCAST_TXPARAM, // 105
|
|
HGIC_CMD_SET_STA_FREQINFO, // 106
|
|
HGIC_CMD_SET_RESET_STA, // 107
|
|
HGIC_CMD_SET_UART_FIXLEN, // 108
|
|
HGIC_CMD_GET_UART_FIXLEN, // 109
|
|
HGIC_CMD_SET_ANT_AUTO, // 110
|
|
HGIC_CMD_SET_ANT_SEL, // 111
|
|
HGIC_CMD_GET_ANT_SEL, // 112
|
|
HGIC_CMD_SET_WKUP_HOST_REASON, // 113
|
|
HGIC_CMD_SET_MAC_FILTER_EN, // 114
|
|
HGIC_CMD_SET_ATCMD, // 115
|
|
HGIC_CMD_SET_ROAMING, // 116
|
|
HGIC_CMD_SET_AP_HIDE, // 117
|
|
HGIC_CMD_SET_DUAL_ANT, // 118
|
|
HGIC_CMD_SET_MAX_TCNT, // 119
|
|
HGIC_CMD_SET_ASSERT_HOLDUP, // 120
|
|
HGIC_CMD_SET_AP_PSMODE_EN, // 121
|
|
HGIC_CMD_SET_DUPFILTER_EN, // 122
|
|
HGIC_CMD_SET_DIS_1V1_M2U, // 123
|
|
};
|
|
|
|
enum hgic_event {
|
|
HGIC_EVENT_STATE_CHG = 0x1, // 1
|
|
HGIC_EVENT_CH_SWICH, // 2
|
|
HGIC_EVENT_DISCONNECT_REASON, // 3
|
|
HGIC_EVENT_ASSOC_STATUS, // 4
|
|
HGIC_EVENT_SCANNING, // 5
|
|
HGIC_EVENT_SCAN_DONE, // 6
|
|
HGIC_EVENT_TX_BITRATE, // 7
|
|
HGIC_EVENT_PAIR_START, // 8
|
|
HGIC_EVENT_PAIR_SUCCESS, // 9
|
|
HGIC_EVENT_PAIR_DONE, // 10
|
|
HGIC_EVENT_CONECT_START, // 11
|
|
HGIC_EVENT_CONECTED, // 12
|
|
HGIC_EVENT_DISCONECTED, // 13
|
|
HGIC_EVENT_SIGNAL, // 14
|
|
HGIC_EVENT_DISCONNET_LOG, // 15
|
|
HGIC_EVENT_REQUEST_PARAM, // 16
|
|
HGIC_EVENT_TESTMODE_STATE, // 17
|
|
HGIC_EVENT_FWDBG_INFO, // 18
|
|
HGIC_EVENT_CUSTOMER_MGMT, // 19
|
|
HGIC_EVENT_SLEEP_FAIL, // 20
|
|
HGIC_EVENT_DHCPC_DONE, // 21
|
|
HGIC_EVENT_CONNECT_FAIL, // 22
|
|
HGIC_EVENT_CUST_DRIVER_DATA, // 23
|
|
HGIC_EVENT_UNPAIR_STA, // 24
|
|
};
|
|
|
|
extern int hgic_sdio_init(void);
|
|
extern void hgic_sdio_exit(void);
|
|
extern int hgic_usb_init(void);
|
|
extern void hgic_usb_exit(void);
|
|
|
|
#ifdef __RTOS__
|
|
struct firmware {
|
|
unsigned char *data;
|
|
unsigned int size;
|
|
};
|
|
int request_firmware(const struct firmware **fw, const char *name, void *dev);
|
|
void release_firmware(struct firmware *fw);
|
|
|
|
extern int hgicf_init(void);
|
|
extern int hgicf_cmd(char *ifname, unsigned int cmd, unsigned int param1, unsigned int param2);
|
|
extern int hgics_init(void);
|
|
extern void hgics_exit(void);
|
|
extern int wpas_init(void);
|
|
extern int wpas_start(char *ifname);
|
|
extern int wpas_stop(char *ifname);
|
|
extern int wpas_cli(char *ifname, char *cmd, char *reply_buff, int reply_len);
|
|
extern int wpas_passphrase(char *ssid, char *passphrase, char psk[32]);
|
|
extern int hapd_init(void);
|
|
extern int hapd_start(char *ifname);
|
|
extern int hapd_stop(char *ifname);
|
|
extern int hapd_cli(char *ifname, char *cmd, char *reply_buff, int reply_len);
|
|
extern void hgic_param_iftest(int iftest);
|
|
extern const char *hgic_param_ifname(const char *name);
|
|
extern char *hgic_param_fwfile(const char *fw);
|
|
extern int hgic_param_ifcount(int count);
|
|
extern void hgic_param_initcb(hgic_init_cb cb);
|
|
extern void hgic_param_eventcb(hgic_event_cb cb);
|
|
extern int hgic_ota_start(char *ifname, char *fw_name);
|
|
|
|
void hgic_raw_init(void);
|
|
int hgic_raw_send(char *dest, char *data, int len);
|
|
int hgic_raw_rcev(char *buf, int size, char *src);
|
|
|
|
#ifdef HGIC_SMAC
|
|
#include "umac_config.h"
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|