blob: 6a58facf6605284c09d933eef04befd1c9cdaa86 [file] [log] [blame]
b.liud440f9f2025-04-18 10:44:31 +08001/*-----------------------------------------------------------------------------------------------*/
2/**
3 @file ql_wifi_internal.h
4 @brief WIFI internal define
5*/
6/*-----------------------------------------------------------------------------------------------*/
7
8/*-------------------------------------------------------------------------------------------------
9 Copyright (c) 2018 Quectel Wireless Solution, Co., Ltd. All Rights Reserved.
10 Quectel Wireless Solution Proprietary and Confidential.
11-------------------------------------------------------------------------------------------------*/
12
13/*-------------------------------------------------------------------------------------------------
14 EDIT HISTORY
15 This section contains comments describing changes made to the file.
16 Notice that changes are listed in reverse chronological order.
17 $Header: $
18 when who what, where, why
19 -------- --- -------------------------------------------uint8_t---------------
20 2020-11-09 tyler.kuang Created .
21-------------------------------------------------------------------------------------------------*/
22
23#ifndef __QL_WIFI_INTERNAL_H__
24#define __QL_WIFI_INTERNAL_H__
25#include <stdint.h>
26#include "ql_wifi_common.h"
27
28#define QL_WIFI_SRV_READY_FLAG "/tmp/ql_wifi_service_ready.flag"
29typedef struct
30{
31 int msg_id;
32 int msg_req_size;
33 int msg_rsp_size;
34} ql_wifi_msg_t;
35
36typedef enum
37{
38 QL_WIFI_REQ_MSG_ID_IM = 0,
39 QL_WIFI_REQ_MSG_ID_SET_ENABLE,
40 QL_WIFI_REQ_MSG_ID_GET_STATUS,
41 QL_WIFI_REQ_MSG_ID_SET_CFG,
42 QL_WIFI_REQ_MSG_ID_GET_CFG,
43 QL_WIFI_REQ_MSG_ID_SET_AP_CFG,
44 QL_WIFI_REQ_MSG_ID_GET_AP_CFG,
45 QL_WIFI_REQ_MSG_ID_START_AP,
46 QL_WIFI_REQ_MSG_ID_GET_AP_STATUS,
47 QL_WIFI_REQ_MSG_ID_SET_STA_CFG,
48 QL_WIFI_REQ_MSG_ID_GET_STA_CFG,
49 QL_WIFI_REQ_MSG_ID_START_STA,
50 QL_WIFI_REQ_MSG_ID_GET_STA_STATUS,
51 QL_WIFI_REQ_MSG_ID_STA_START_SCAN,
52 QL_WIFI_REQ_MSG_ID_P2P_SET_CFG,
53 QL_WIFI_REQ_MSG_ID_P2P_GET_CFG,
54 QL_WIFI_REQ_MSG_ID_P2P_ENABLE,
55 QL_WIFI_REQ_MSG_ID_P2P_DEV_FIND,
56 QL_WIFI_REQ_MSG_ID_P2P_CONNECT,
57 QL_WIFI_REQ_MSG_ID_P2P_DISCONNECT,
58 QL_WIFI_REQ_MSG_ID_P2P_GET_STATUS,
59 QL_WIFI_REQ_MSG_ID_EVENT_REG,
60 QL_WIFI_IND_MSG_ID_WIFI_STATUS,
61 QL_WIFI_IND_MSG_ID_WIFI_AP_STATUS,
62 QL_WIFI_IND_MSG_ID_WIFI_STA_STATUS,
63 QL_WIFI_IND_MSG_ID_WIFI_STA_SCAN_RESULT,
64 QL_WIFI_IND_MSG_ID_WIFI_AP_STA_CONNECT,
65 QL_WIFI_IND_MSG_ID_WIFI_P2P_ENABLE_STATUS,
66 QL_WIFI_IND_MSG_ID_WIFI_P2P_DEV_FOUND,
67 QL_WIFI_IND_MSG_ID_WIFI_P2P_PEER_DEV_REQ,
68 QL_WIFI_IND_MSG_ID_WIFI_P2P_STATUS
69} QL_WIFI_REQ_MSG_ID_E;
70
71typedef struct {
72 uint8_t is_enable;
73}ql_wifi_req_msg_set_wifi_enable_t;
74
75typedef struct {
76 QL_WIFI_ENABLE_STATUS_E status;
77}ql_wifi_rsp_msg_get_wifi_status_t;
78
79typedef struct {
80 uint8_t work_mode_valid;
81 QL_WIFI_WORK_MODE_E work_mode;
82 uint8_t country_code_valid;
83 uint8_t bridge_code_valid;
84 char country_code[3];
85 char bridge[50];
86} ql_wifi_req_msg_set_wifi_cfg_t;
87
88typedef struct {
89 QL_WIFI_WORK_MODE_E work_mode;
90 char country_code[3];
91} ql_wifi_rsp_msg_get_wifi_cfg_t;
92
93typedef struct{
94 QL_WIFI_AP_INDEX_E idx;
95 uint8_t ssid_valid;
96 char ssid[33];
97 uint8_t mode_valid;
98 QL_WIFI_AP_MODE_TYPE_E mode;
99 uint8_t auth_valid;
100 ql_wifi_ap_auth_t auth;
101 uint8_t channel_valid;
102 uint16_t channel;
103 uint8_t bandwidth_valid;
104 QL_WIFI_BANDWIDTH_E bandwidth;
105 uint8_t max_sta_valid;
106 uint8_t max_sta;
107 uint8_t isolate_valid;
108 uint8_t isolate;
109 uint8_t ssid_hidden_valid;
110 uint8_t ssid_hidden;
111 uint8_t country_code_valid;
112 char country_code[3];
113 uint8_t acl_rule_valid;
114 QL_WIFI_MAC_ACL_RULE_E acl_rule;
115 uint8_t acl_mac_valid;
116 QL_WIFI_ACL_MAC_CMD_E cmd;
117 char macaddr[18];
118} ql_wifi_req_msg_set_wifi_ap_cfg_t;
119
120typedef struct
121{
122 QL_WIFI_AP_INDEX_E idx;
123} ql_wifi_req_msg_get_wifi_ap_cfg_t;
124
125typedef struct{
126 QL_WIFI_AP_INDEX_E idx;
127 char ssid[33];
128 char country_code[3];
129 QL_WIFI_AP_MODE_TYPE_E mode;
130 ql_wifi_ap_auth_t auth;
131 uint16_t channel;
132 QL_WIFI_BANDWIDTH_E bandwidth;
133 uint8_t max_sta;
134 uint8_t isolate;
135 uint8_t ssid_hidden;
136 QL_WIFI_MAC_ACL_RULE_E acl_rule;
137 ql_wifi_acl_mac_list_t mac_list;
138} ql_wifi_rsp_msg_get_wifi_ap_cfg_t;
139
140typedef struct {
141 QL_WIFI_AP_INDEX_E idx;
142 uint8_t is_start;
143}ql_wifi_req_msg_start_wifi_ap_t;
144
145typedef struct {
146 QL_WIFI_AP_INDEX_E idx;
147}ql_wifi_req_msg_get_wifi_ap_status_t;
148
149typedef struct {
150 ql_wifi_ap_status_t status;
151}ql_wifi_rsp_msg_get_wifi_ap_status_t;
152
153typedef struct {
154 uint8_t ssid_valid;
155 char ssid[33];
156 uint8_t auth_valid;
157 ql_wifi_ap_auth_t auth;
158} ql_wifi_req_msg_set_wifi_sta_cfg_t;
159
160typedef struct {
161 char ssid[33];
162 ql_wifi_sta_auth_t auth;
163} ql_wifi_rsp_msg_get_wifi_sta_cfg_t;
164
165typedef struct {
166 uint8_t is_start;
167} ql_wifi_req_msg_start_wifi_sta_t;
168
169typedef struct {
170 ql_wifi_sta_status_t status;
171} ql_wifi_rsp_msg_get_wifi_sta_status_t;
172
173typedef struct {
174 uint8_t is_enable;
175}ql_wifi_req_msg_p2p_enable_t;
176
177typedef struct{
178 uint8_t dev_name_valid;
179 char dev_name[32];
180 uint8_t dev_type_valid;
181 char dev_type[32];
182 uint8_t oper_class_channel_valid;
183 int oper_class;
184 int oper_channel;
185 uint8_t ssid_postfix_valid;
186 char ssid_postfix[32];
187} ql_wifi_req_msg_p2p_set_cfg_t;
188
189typedef struct{
190 char dev_name[32];
191 char dev_type[32];
192 char ssid_postfix[32];
193 int oper_class;
194 int oper_channel;
195} ql_wifi_req_msg_p2p_get_cfg_t;
196
197typedef struct {
198 uint8_t is_find;
199}ql_wifi_req_msg_p2p_dev_find_t;
200
201typedef struct {
202 char macaddr[18];
203 char method[9];
204 int go_intent;
205}ql_wifi_req_msg_p2p_connect_t;
206
207typedef struct {
208 ql_wifi_p2p_status_t status;
209} ql_wifi_rsp_msg_p2p_get_status_t;
210
211typedef struct {
212 uint8_t wifi_valid;
213 uint8_t wifi;
214 uint8_t wifi_ap_valid;
215 uint8_t wifi_ap;
216 uint8_t wifi_sta_valid;
217 uint8_t wifi_sta;
218 uint8_t wifi_sta_scan_vaild;
219 uint8_t wifi_sta_scan;
220 uint8_t wifi_ap_sta_connect_valid;
221 uint8_t wifi_ap_sta_connect;
222 uint8_t wifi_p2p_enable_status_valid;
223 uint8_t wifi_p2p_enable_status;
224 uint8_t wifi_p2p_dev_found_valid;
225 uint8_t wifi_p2p_dev_found;
226 uint8_t wifi_p2p_peer_dev_req_valid;
227 uint8_t wifi_p2p_peer_dev_req;
228 uint8_t wifi_p2p_status_valid;
229 uint8_t wifi_p2p_status;
230}ql_wifi_req_msg_event_reg_t;
231
232typedef struct {
233 QL_WIFI_ENABLE_STATUS_E pre_status;
234 QL_WIFI_ENABLE_STATUS_E status;
235} ql_wifi_ind_msg_wifi_status_t;
236
237typedef struct {
238 QL_WIFI_AP_INDEX_E index;
239 QL_WIFI_AP_STATUS_E pre_status;
240 ql_wifi_ap_status_t status;
241} ql_wifi_ind_msg_wifi_ap_status_t;
242
243typedef struct {
244 QL_WIFI_STA_STATUS_E pre_status;
245 ql_wifi_sta_status_t status;
246} ql_wifi_ind_msg_wifi_sta_status_t;
247
248typedef struct {
249 ql_wifi_sta_scan_result_t scan_result;
250} ql_wifi_ind_msg_wifi_sta_scan_result_t;
251
252typedef struct {
253 QL_WIFI_AP_INDEX_E index;
254 ql_wifi_sta_connect_status_t conn_status;
255}ql_wifi_ind_msg_wifi_ap_sta_connect_status_t;
256
257typedef struct {
258 QL_WIFI_P2P_ENABLE_STATUS_E pre_status;
259 QL_WIFI_P2P_ENABLE_STATUS_E status;
260} ql_wifi_ind_msg_wifi_p2p_enable_status_t;
261
262typedef struct {
263 ql_wifi_p2p_found_dev_info_t dev_info;
264}ql_wifi_ind_msg_wifi_p2p_dev_found_t;
265
266typedef struct {
267 ql_wifi_p2p_req_peer_dev_info_t dev_info;
268}ql_wifi_ind_msg_wifi_p2p_peer_dev_req_t;
269
270typedef struct {
271 QL_WIFI_P2P_STATUS_E pre_status;
272 ql_wifi_p2p_status_t status;
273}ql_wifi_ind_msg_wifi_p2p_status_t;
274
275
276static ql_wifi_msg_t ql_wifi_msgs[] =
277{
278 {QL_WIFI_REQ_MSG_ID_SET_ENABLE, sizeof(ql_wifi_req_msg_set_wifi_enable_t), 0},
279 {QL_WIFI_REQ_MSG_ID_GET_STATUS, 0, sizeof(ql_wifi_rsp_msg_get_wifi_status_t)},
280 {QL_WIFI_REQ_MSG_ID_SET_CFG, sizeof(ql_wifi_req_msg_set_wifi_cfg_t), 0},
281 {QL_WIFI_REQ_MSG_ID_GET_CFG, 0, sizeof(ql_wifi_rsp_msg_get_wifi_cfg_t)},
282 {QL_WIFI_REQ_MSG_ID_SET_AP_CFG, sizeof(ql_wifi_req_msg_set_wifi_ap_cfg_t), 0},
283 {QL_WIFI_REQ_MSG_ID_GET_AP_CFG, sizeof(ql_wifi_req_msg_get_wifi_ap_cfg_t), sizeof(ql_wifi_rsp_msg_get_wifi_ap_cfg_t)},
284 {QL_WIFI_REQ_MSG_ID_START_AP, sizeof(ql_wifi_req_msg_start_wifi_ap_t), 0},
285 {QL_WIFI_REQ_MSG_ID_GET_AP_STATUS, sizeof(ql_wifi_req_msg_get_wifi_ap_status_t), sizeof(ql_wifi_rsp_msg_get_wifi_ap_status_t)},
286 {QL_WIFI_REQ_MSG_ID_SET_STA_CFG, sizeof(ql_wifi_req_msg_set_wifi_sta_cfg_t), 0},
287 {QL_WIFI_REQ_MSG_ID_GET_STA_CFG, 0, sizeof(ql_wifi_rsp_msg_get_wifi_sta_cfg_t)},
288 {QL_WIFI_REQ_MSG_ID_START_STA, sizeof(ql_wifi_req_msg_start_wifi_sta_t), 0},
289 {QL_WIFI_REQ_MSG_ID_GET_STA_STATUS, 0, sizeof(ql_wifi_rsp_msg_get_wifi_sta_status_t)},
290 {QL_WIFI_REQ_MSG_ID_STA_START_SCAN, 0, 0},
291 {QL_WIFI_REQ_MSG_ID_P2P_SET_CFG, sizeof(ql_wifi_req_msg_p2p_set_cfg_t), 0},
292 {QL_WIFI_REQ_MSG_ID_P2P_GET_CFG, 0, sizeof(ql_wifi_req_msg_p2p_get_cfg_t)},
293 {QL_WIFI_REQ_MSG_ID_P2P_ENABLE, sizeof(ql_wifi_req_msg_p2p_enable_t), 0},
294 {QL_WIFI_REQ_MSG_ID_P2P_DEV_FIND, sizeof(ql_wifi_req_msg_p2p_dev_find_t), 0},
295 {QL_WIFI_REQ_MSG_ID_P2P_CONNECT, sizeof(ql_wifi_req_msg_p2p_connect_t), 0},
296 {QL_WIFI_REQ_MSG_ID_P2P_DISCONNECT, 0, 0},
297 {QL_WIFI_REQ_MSG_ID_P2P_GET_STATUS, 0, sizeof(ql_wifi_rsp_msg_p2p_get_status_t)},
298 {QL_WIFI_REQ_MSG_ID_EVENT_REG, sizeof(ql_wifi_req_msg_event_reg_t), 0},
299 {QL_WIFI_IND_MSG_ID_WIFI_STATUS, sizeof(ql_wifi_ind_msg_wifi_status_t), 0},
300 {QL_WIFI_IND_MSG_ID_WIFI_AP_STATUS, sizeof(ql_wifi_ind_msg_wifi_ap_status_t), 0},
301 {QL_WIFI_IND_MSG_ID_WIFI_STA_STATUS, sizeof(ql_wifi_ind_msg_wifi_sta_status_t), 0},
302 {QL_WIFI_IND_MSG_ID_WIFI_STA_SCAN_RESULT, sizeof(ql_wifi_ind_msg_wifi_sta_scan_result_t), 0},
303 {QL_WIFI_IND_MSG_ID_WIFI_AP_STA_CONNECT, sizeof(ql_wifi_ind_msg_wifi_ap_sta_connect_status_t), 0},
304 {QL_WIFI_IND_MSG_ID_WIFI_P2P_ENABLE_STATUS, sizeof(ql_wifi_ind_msg_wifi_p2p_enable_status_t), 0},
305 {QL_WIFI_IND_MSG_ID_WIFI_P2P_DEV_FOUND, sizeof(ql_wifi_ind_msg_wifi_p2p_dev_found_t), 0},
306 {QL_WIFI_IND_MSG_ID_WIFI_P2P_PEER_DEV_REQ, sizeof(ql_wifi_ind_msg_wifi_p2p_peer_dev_req_t), 0},
307 {QL_WIFI_IND_MSG_ID_WIFI_P2P_STATUS, sizeof(ql_wifi_ind_msg_wifi_p2p_status_t), 0}
308};
309
310
311#endif
312