58 lines
1.6 KiB
C
58 lines
1.6 KiB
C
#ifndef NH_CTRL_API_H
|
|
#define NH_CTRL_API_H
|
|
|
|
#include "nh_shared_if.h"
|
|
|
|
typedef enum {
|
|
NH_CTRL_WIFI_MODE_NONE,
|
|
NH_CTRL_WIFI_MODE_STA,
|
|
NH_CTRL_WIFI_MODE_AP,
|
|
NH_CTRL_WIFI_MODE_APSTA,
|
|
} nh_ctrl_wifi_mode_t;
|
|
|
|
typedef enum {
|
|
NH_CTRL_WIFI_ENC_MODE_OPEN,
|
|
NH_CTRL_WIFI_ENC_MODE_WEP,
|
|
NH_CTRL_WIFI_ENC_MODE_WPA_PSK,
|
|
NH_CTRL_WIFI_ENC_MODE_WPA2_PSK,
|
|
NH_CTRL_WIFI_ENC_MODE_WPA_WPA2_PSK,
|
|
NH_CTRL_WIFI_ENC_MODE_WPA2_ENT,
|
|
NH_CTRL_WIFI_ENC_MODE_WPA3_PSK,
|
|
NH_CTRL_WIFI_ENC_MODE_WPA2_WPA3_PSK,
|
|
} nh_ctrl_api_wifi_encryption_mode_t;
|
|
|
|
typedef struct {
|
|
char *ssid;
|
|
char *bssid;
|
|
int rssi;
|
|
int channel;
|
|
nh_ctrl_api_wifi_encryption_mode_t encryption_mode;
|
|
} nh_ctrl_api_wifi_scan_item_t;
|
|
|
|
typedef void (*nh_ctrl_api_ap_scan_list_cb_t)(void *handle, nh_ctrl_api_wifi_scan_item_t);
|
|
|
|
typedef void (*nh_ctrl_api_event_cb_init_t)(void *handle);
|
|
|
|
typedef struct {
|
|
nh_ctrl_api_event_cb_init_t init;
|
|
} nh_ctrl_api_cb_t;
|
|
|
|
typedef struct {
|
|
nh_shared_if_t *shared_if;
|
|
nh_osa_t *osa;
|
|
nh_ctrl_api_cb_t cb;
|
|
void *user_data;
|
|
|
|
/* Private states */
|
|
nh_osa_semaphore_t p_sem_req;
|
|
nh_osa_semaphore_t p_sem_resp;
|
|
uint8_t *p_buf_rx;
|
|
uint32_t p_buf_rx_len;
|
|
} nh_ctrl_api_t;
|
|
|
|
nh_ret_t nh_ctrl_api_init(nh_ctrl_api_t *api);
|
|
void nh_ctrl_api_task(nh_ctrl_api_t *api);
|
|
nh_ret_t nh_ctrl_api_get_mac_address(nh_ctrl_api_t *api, uint8_t *mac_addr, nh_ctrl_wifi_mode_t mode);
|
|
|
|
#endif // NH_CTRL_API_H
|