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