• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 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 OHOS_WIFI_NATIVE_DEFINE_H
17 #define OHOS_WIFI_NATIVE_DEFINE_H
18 
19 #define HAL_MAX_WEPKEYS_SIZE 4
20 #define HAL_AUTH_ALGORITHM_MAX 8
21 #define HAL_PASSWORD_LEN 128
22 #define HAL_COUNTRY_CODE_LENGTH 2
23 #define HAL_GET_MAX_SCAN_INFO 256               /* Maximum number of scan infos obtained at a time */
24 #define HAL_GET_MAX_NETWORK_LIST 128
25 #define HAL_GET_MAX_BANDS 32                    /* Obtains the number of bands. */
26 #define HAL_INTERFACE_SUPPORT_COMBINATIONS 32   /* chip support valid interface combinations */
27 #define HAL_PSK_MIN_LENGTH 8
28 #define HAL_PSK_MAX_LENGTH 64
29 #define HAL_SAE_PSK_MIN_LENGTH 1
30 #define HAL_BSSID_LENGTH 17                     /* bssid - mac address length */
31 #define HAL_PIN_CODE_LENGTH 8
32 #define HAL_P2P_DEV_ADDRESS_LEN 32
33 #define HAL_P2P_LISTEN_MIN_TIME 1
34 #define HAL_P2P_LISTEN_MAX_TIME 65535
35 #define HAL_P2P_GO_INTENT_MIN_LENGTH 0
36 #define HAL_P2P_GO_INTENT_MAX_LENGTH 15
37 #define HAL_P2P_GO_INTENT_DEFAULT_LENGTH 6
38 #define HAL_P2P_TMP_BUFFER_SIZE_128 128
39 #define HAL_P2P_SERVICE_TYPE_MIN_SIZE 3
40 #define HAL_P2P_SERVICE_TYPE_2_POS 2
41 
42 typedef enum DeathType {
43     WPA_DEATH = 0,
44     AP_DEATH = 1
45 } DeathType;
46 
47 typedef enum HalScanResult {
48     HAL_SINGLE_SCAN_FAILED = 1,     /* Scan failure notification */
49     HAL_SINGLE_SCAN_OVER_OK = 2,    /* Scan success notification */
50     HAL_PNO_SCAN_OVER_OK = 3,       /* PNO Scan success notification */
51 } HalScanResult;
52 
53 typedef enum HalConnectStatus {
54     HAL_WPA_CB_CONNECTED = 1,
55     HAL_WPA_CB_DISCONNECTED = 2,
56     HAL_WPA_CB_ASSOCIATING = 3,
57     HAL_WPA_CB_ASSOCIATED = 4,
58 } HalConnectStatus;
59 
60 typedef enum HalPortType {
61     HAL_PORT_TYPE_STATION    = 0,
62     HAL_PORT_TYPE_AP         = 1,
63     HAL_PORT_TYPE_P2P_CLIENT = 2,
64     HAL_PORT_TYPE_P2P_GO     = 3,
65     HAL_PORT_TYPE_P2P_DEVICE = 4,
66     HAL_PORT_TYPE_BUTT,
67 } HalPortType;
68 
69 typedef enum HalCallbackEvent {
70     /* IWifiEventCallback */
71     HAL_CBK_CMD_FAILURE = 100,      /* Driver loading/unloading failure */
72     HAL_CBK_CMD_STARTED,            /* The driver has been loaded. */
73     HAL_CBK_CMD_STOPED,             /* The Wi-Fi driver has been uninstalled. */
74 
75     /* IWifiChipEventCallback */
76     HAL_CBK_CMD_ADD_IFACE,          /* The network device interface has been added. */
77     HAL_CBK_CMD_REMOVE_IFACE,       /* The network device interface has been deleted. */
78 
79     /* AP AsscociatedEvent */
80     HAL_CBK_CMD_STA_JOIN,           /* STA connection notification in AP mode */
81     HAL_CBK_CMD_STA_LEAVE,          /* STA leaving notification in AP mode */
82 
83     /* SupplicantEventCallback */
84     HAL_CBK_CMD_SCAN_INFO_NOTIFY,       /* SCAN Scan Result Notification */
85     HAL_CBK_CMD_CONNECT_CHANGED,        /* Connection status change notification */
86     HAL_CBK_CMD_BSSID_CHANGED,          /* bssid change notification */
87     HAL_CBK_CMD_AP_ENABLE,              /* AP enabling notification */
88     HAL_CBK_CMD_AP_DISABLE,             /* AP closure notification */
89     HAL_CBK_CMD_WPA_STATE_CHANGEM,      /* WPA status change notification */
90     HAL_CBK_CMD_SSID_WRONG_KEY,         /* Password error status notification */
91     HAL_CBK_CMD_WPS_CONNECTION_FULL,    /* network connection full */
92     HAL_CBK_CMD_WPS_CONNECTION_REJECT,  /* network connection reject */
93     HAL_CBK_CMD_WPS_OVERLAP,            /* wps PBC overlap */
94     HAL_CBK_CMD_WPS_TIME_OUT,           /* wps connect time out */
95 
96     /* P2p callback */
97     HAL_CBK_CMD_P2P_SUPPLICANT_CONNECT,            /* p2p connect supplicant */
98     HAL_CBK_CMD_SUP_CONN_FAILED_EVENT,             /* Wpa_supplicant client connection failure event */
99     HAL_CBK_CMD_P2P_DEVICE_FOUND_EVENT,            /* Device discovery event */
100     HAL_CBK_CMD_P2P_DEVICE_LOST_EVENT,             /* Device loss event */
101     HAL_CBK_CMD_P2P_GO_NEGOTIATION_REQUEST_EVENT,  /* Event of receiving a GO negotiation request */
102     HAL_CBK_CMD_P2P_GO_NEGOTIATION_SUCCESS_EVENT,  /* The GO negotiation is successful */
103     HAL_CBK_CMD_P2P_GO_NEGOTIATION_FAILURE_EVENT,  /* The GO negotiation fails */
104     HAL_CBK_CMD_P2P_INVITATION_RECEIVED_EVENT,     /* P2P invitation request event */
105     HAL_CBK_CMD_P2P_INVITATION_RESULT_EVENT,       /* P2P invitation result */
106     HAL_CBK_CMD_P2P_GROUP_FORMATION_SUCCESS_EVENT, /* The group is created successfully */
107     HAL_CBK_CMD_P2P_GROUP_FORMATION_FAILURE_EVENT, /* The group is created failure */
108     HAL_CBK_CMD_P2P_GROUP_STARTED_EVENT,           /* Group Start Event */
109     HAL_CBK_CMD_P2P_GROUP_REMOVED_EVENT,           /* Group removed event */
110     HAL_CBK_CMD_P2P_PROV_DISC_PBC_REQ_EVENT,       /* Provision Discovery request event */
111     HAL_CBK_CMD_P2P_PROV_DISC_PBC_RSP_EVENT,       /* Provision Discovery Response Event */
112     HAL_CBK_CMD_P2P_PROV_DISC_ENTER_PIN_EVENT,     /* Provision Discovery PIN input event */
113     HAL_CBK_CMD_P2P_PROV_DISC_SHOW_PIN_EVENT,      /* Provision Discovery Display PIN Event */
114     HAL_CBK_CMD_P2P_FIND_STOPPED_EVENT,            /* Device search stop event */
115     HAL_CBK_CMD_P2P_SERV_DISC_RESP_EVENT,          /* Service response event */
116     HAL_CBK_CMD_P2P_PROV_DISC_FAILURE_EVENT,       /* Provision Discovery failure event */
117     HAL_CBK_CMD_AP_STA_DISCONNECTED_EVENT,         /* STA Disconnected from AP */
118     HAL_CBK_CMD_AP_STA_CONNECTED_EVENT,            /* STA and AP connected event */
119     HAL_CBK_CMD_P2P_SERV_DISC_REQ_EVENT,           /* Service discovery request event */
120     HAL_CBK_CMD_P2P_IFACE_CREATED_EVENT,           /* P2P interface created event */
121     HAL_CBK_CMD_STA_AP_TEMP_EVENT,
122     HAL_CBK_CMD_AP_STA_PSK_MISMATCH_EVENT,         /* AP STA possible PSK mismatch event*/
123     HAL_CBK_CMD_P2P_CONNECT_FAILED,                /* P2P connect failed event */
124     HAL_CBK_CMD_P2P_CHANNEL_SWITCH_EVENT,          /* P2P Channel switch event */
125     HAL_CBK_CMD_STA_DISCONNECT_REASON_EVENT,       /* sta disconnect reason report */
126 } HalCallbackEvent;
127 
128 typedef enum Wifi80211StatusCode {
129     WLAN_STATUS_UNSPECIFIED_FAILURE = 1,
130     WLAN_STATUS_CHALLENGE_FAIL = 15,
131     WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA = 17,
132     WLAN_STATUS_ASSOC_REJECTED_TEMPORARILY = 30,
133     WLAN_STATUS_DENIED_INSUFFICIENT_BANDWIDTH = 33,
134 } Wifi80211StatusCode;
135 
136 typedef enum Wifi80211ReasonCode {
137     WLAN_REASON_IE_IN_4WAY_DIFFERS = 17,
138 } Wifi80211ReasonCode;
139 
140 typedef enum Wifi80211AuthType {
141     WLAN_AUTH_SAE = 3,
142 } Wifi80211AuthType;
143 #endif
144