• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef WIFI_COMMON_CMD_H
17 #define WIFI_COMMON_CMD_H
18 
19 #include "wifi_driver_client.h"
20 
21 enum PlatformServiceID {
22     INTERFACE_SERVICE_ID = 0,
23     BASE_SERVICE_ID,
24     AP_SERVICE_ID,
25     STA_SERVICE_ID,
26     P2P_SERVICE_ID,
27     AUTO_ALLOC_SERVICE_ID_START = 300
28 };
29 
30 enum BaseCommands {
31     CMD_BASE_NEW_KEY,
32     CMD_BASE_DEL_KEY,
33     CMD_BASE_SET_DEFAULT_KEY,
34     CMD_BASE_SEND_MLME,
35     CMD_BASE_SEND_EAPOL,
36     CMD_BASE_RECEIVE_EAPOL = 5,
37     CMD_BASE_ENALBE_EAPOL,
38     CMD_BASE_DISABLE_EAPOL,
39     CMD_BASE_GET_ADDR,
40     CMD_BASE_SET_MODE,
41     CMD_BASE_GET_HW_FEATURE = 10,
42     CMD_BASE_SET_NETDEV,
43     CMD_BASE_SEND_ACTION,
44     CMD_BASE_SET_CLIENT,
45     CMD_BASE_GET_NETWORK_INFO = 15,
46     CMD_BASE_IS_SUPPORT_COMBO,
47     CMD_BASE_GET_SUPPORT_COMBO,
48     CMD_BASE_GET_DEV_MAC_ADDR,
49     CMD_BASE_SET_MAC_ADDR,
50     CMD_BASE_GET_VALID_FREQ = 20,
51     CMD_BASE_SET_TX_POWER,
52     CMD_BASE_GET_CHIPID,
53     CMD_BASE_GET_IFNAMES,
54     CMD_BASE_RESET_DRIVER,
55     CMD_BASE_GET_NETDEV_INFO,
56     CMD_BASE_DO_RESET_PRIVATE,
57     CMD_BASE_GET_POWER_MODE,
58     CMD_BASE_SET_POWER_MODE,
59     CMD_BASE_START_CHANNEL_MEAS,
60     CMD_BASE_SET_PROJECTION_SCREEN_PARAM,
61     CMD_BASE_SEND_CMD_IOCTL,
62     CMD_BASE_GET_STATION_INFO
63 };
64 
65 enum APCommands {
66     CMD_AP_START = 0,
67     CMD_AP_STOP,
68     CMD_AP_CHANGE_BEACON,
69     CMD_AP_DEL_STATION,
70     CMD_AP_GET_ASSOC_STA,
71     CMD_AP_SET_COUNTRY_CODE,
72 };
73 
74 enum STACommands {
75     CMD_STA_CONNECT = 0,
76     CMD_STA_DISCONNECT,
77     CMD_STA_SCAN,
78     CMD_STA_ABORT_SCAN,
79     CMD_STA_SET_SCAN_MAC_ADDR
80 };
81 
82 enum P2PCommands {
83     CMD_P2P_PROBE_REQ_REPORT = 0,
84     CMD_P2P_REMAIN_ON_CHANNEL,
85     CMD_P2P_CANCEL_REMAIN_ON_CHANNEL,
86     CMD_P2P_ADD_IF,
87     CMD_P2P_REMOVE_IF,
88     CMD_P2P_SET_AP_WPS_P2P_IE,
89     CMD_P2P_GET_DRIVER_FLAGS
90 };
91 
92 #define MESSAGE_CMD_BITS 16
93 #define HDF_WIFI_CMD(SERVICEID, CMDID) ((((uint32_t)SERVICEID) << MESSAGE_CMD_BITS) | (CMDID))
94 
95 typedef enum {
96     WIFI_HAL_CMD_GET_NETWORK_INFO = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_NETWORK_INFO),
97     WIFI_HAL_CMD_IS_SUPPORT_COMBO = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_IS_SUPPORT_COMBO),
98     WIFI_HAL_CMD_GET_SUPPORT_COMBO  = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_SUPPORT_COMBO),
99     WIFI_HAL_CMD_GET_DEV_MAC_ADDR   = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_DEV_MAC_ADDR),
100     WIFI_HAL_CMD_SET_MAC_ADDR = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SET_MAC_ADDR),
101     WIFI_HAL_CMD_GET_VALID_FREQ = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_VALID_FREQ),
102     WIFI_HAL_CMD_SET_TX_POWER = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SET_TX_POWER),
103     WIFI_HAL_CMD_GET_ASSOC_STA = HDF_WIFI_CMD(AP_SERVICE_ID, CMD_AP_GET_ASSOC_STA),
104     WIFI_HAL_CMD_SET_COUNTRY_CODE = HDF_WIFI_CMD(AP_SERVICE_ID, CMD_AP_SET_COUNTRY_CODE),
105     WIFI_HAL_CMD_SET_SCAN_MAC_ADDR = HDF_WIFI_CMD(STA_SERVICE_ID, CMD_STA_SET_SCAN_MAC_ADDR),
106     WIFI_HAL_CMD_GET_CHIPID = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_CHIPID),
107     WIFI_HAL_CMD_GET_IFNAMES = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_IFNAMES),
108     WIFI_HAL_CMD_RESET_DRIVER = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_RESET_DRIVER),
109     WIFI_HAL_CMD_GET_NETDEV_INFO = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_NETDEV_INFO),
110     WIFI_HAL_CMD_GET_POWER_MODE = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_POWER_MODE),
111     WIFI_HAL_CMD_SET_POWER_MODE = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SET_POWER_MODE),
112     WIFI_HAL_CMD_START_CHANNEL_MEAS = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_START_CHANNEL_MEAS),
113     WIFI_HAL_CMD_CONFIG_PROJECTION_SCREEN = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SET_PROJECTION_SCREEN_PARAM),
114     WIFI_HAL_CMD_SET_CMD_IOCTL = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SEND_CMD_IOCTL),
115     WIFI_HAL_CMD_GET_STATION_INFO = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_STATION_INFO)
116 } WifiHalCmd;
117 
118 typedef enum {
119     WIFI_WPA_CMD_SET_AP = HDF_WIFI_CMD(AP_SERVICE_ID, CMD_AP_START),
120     WIFI_WPA_CMD_NEW_KEY = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_NEW_KEY),
121     WIFI_WPA_CMD_DEL_KEY = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_DEL_KEY),
122     WIFI_WPA_CMD_SET_KEY = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SET_DEFAULT_KEY),
123     WIFI_WPA_CMD_SEND_MLME = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SEND_MLME),
124     WIFI_WPA_CMD_SEND_EAPOL = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SEND_EAPOL),
125     WIFI_WPA_CMD_RECEIVE_EAPOL = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_RECEIVE_EAPOL),
126     WIFI_WPA_CMD_ENALBE_EAPOL = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_ENALBE_EAPOL),
127     WIFI_WPA_CMD_DISABLE_EAPOL = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_DISABLE_EAPOL),
128     WIFI_WPA_CMD_GET_ADDR = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_ADDR),
129     WIFI_WPA_CMD_SET_MODE = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SET_MODE),
130     WIFI_WPA_CMD_GET_HW_FEATURE = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_GET_HW_FEATURE),
131     WIFI_WPA_CMD_STOP_AP = HDF_WIFI_CMD(AP_SERVICE_ID, CMD_AP_STOP),
132     WIFI_WPA_CMD_SCAN = HDF_WIFI_CMD(STA_SERVICE_ID, CMD_STA_SCAN),
133     WIFI_WPA_CMD_DISCONNECT = HDF_WIFI_CMD(STA_SERVICE_ID, CMD_STA_DISCONNECT),
134     WIFI_WPA_CMD_ASSOC = HDF_WIFI_CMD(STA_SERVICE_ID, CMD_STA_CONNECT),
135     WIFI_WPA_CMD_SET_NETDEV = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SET_NETDEV),
136     WIFI_WPA_CMD_CHANGE_BEACON = HDF_WIFI_CMD(AP_SERVICE_ID, CMD_AP_CHANGE_BEACON),
137     WIFI_WPA_CMD_STA_REMOVE = HDF_WIFI_CMD(AP_SERVICE_ID, CMD_AP_DEL_STATION),
138     WIFI_WPA_CMD_SEND_ACTION = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SEND_ACTION),
139     WIFI_CLIENT_CMD_SET_CLIENT = HDF_WIFI_CMD(BASE_SERVICE_ID, CMD_BASE_SET_CLIENT),
140     WIFI_WPA_CMD_PROBE_REQ_REPORT = HDF_WIFI_CMD(P2P_SERVICE_ID, CMD_P2P_PROBE_REQ_REPORT),
141     WIFI_WPA_CMD_REMAIN_ON_CHANNEL = HDF_WIFI_CMD(P2P_SERVICE_ID, CMD_P2P_REMAIN_ON_CHANNEL),
142     WIFI_WPA_CMD_CANCEL_REMAIN_ON_CHANNEL = HDF_WIFI_CMD(P2P_SERVICE_ID, CMD_P2P_CANCEL_REMAIN_ON_CHANNEL),
143     WIFI_WPA_CMD_ADD_IF = HDF_WIFI_CMD(P2P_SERVICE_ID, CMD_P2P_ADD_IF),
144     WIFI_WPA_CMD_REMOVE_IF = HDF_WIFI_CMD(P2P_SERVICE_ID, CMD_P2P_REMOVE_IF),
145     WIFI_WPA_CMD_SET_AP_WPS_P2P_IE = HDF_WIFI_CMD(P2P_SERVICE_ID, CMD_P2P_SET_AP_WPS_P2P_IE),
146     WIFI_WPA_CMD_GET_DRIVER_FLAGS = HDF_WIFI_CMD(P2P_SERVICE_ID, CMD_P2P_GET_DRIVER_FLAGS),
147     WIFI_WPA_CMD_BUTT
148 } WifiWPACmdType;
149 
150 struct CallbackEvent {
151     uint32_t eventType; /* eventmap */
152     char ifName[IFNAMSIZ + 1];
153     OnReceiveFunc onRecFunc;
154 };
155 
156 struct Hid2dEvent {
157     char ifName[IFNAMSIZ + 1];
158     Hid2dCallback func;
159 };
160 
161 void WifiEventReport(const char *ifName, uint32_t event, void *data);
162 void Hid2dEventReport(const char *ifName, const uint8_t *msg, uint32_t msgLen);
163 
164 #endif /* end of wifi_common_cmd.h */
165