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