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 OHOS_STA_DEFINE_H
17  #define OHOS_STA_DEFINE_H
18  
19  #include <functional>
20  #include <string>
21  
22  namespace OHOS {
23  namespace Wifi {
24  #define FRIEND_GTEST(test_typename) friend class test_typename##Test
25  
26  #define WIFI_SVR_CMD_STA_ENABLE_STA 0x2001
27  #define WIFI_SVR_CMD_STA_DISABLE_STA 0x2002
28  #define WIFI_SVR_CMD_STA_OPERATIONAL_MODE 0x2003
29  #define WIFI_SVR_CMD_STA_CONNECT_NETWORK 0x2004
30  #define WIFI_SVR_CMD_STA_CONNECT_SAVED_NETWORK 0x2005
31  #define WIFI_SVR_CMD_STA_RECONNECT_NETWORK 0x2006
32  #define WIFI_SVR_CMD_STA_REASSOCIATE_NETWORK 0x2007
33  #define WIFI_SVR_CMD_STA_DISCONNECT 0x2008
34  #define WIFI_SVR_CMD_STA_STARTWPS 0x2009
35  #define WIFI_SVR_CMD_STA_CANCELWPS 0x200A
36  #define WIFI_SVR_COM_STA_START_ROAM 0x200B
37  #define WIFI_SVR_COM_STA_ENABLE_HILINK 0x200C
38  #define WIFI_SVR_COM_STA_HILINK_DELIVER_MAC 0x200D
39  #define WIFI_SVR_COM_STA_HILINK_TRIGGER_WPS 0x200E
40  #define WIFI_SVR_COM_STA_NETWORK_REMOVED 0x200F
41  
42  #define WIFI_SVR_CMD_STA_ERROR 0x3001
43  #define WIFI_SVR_CMD_STA_SUP_CONNECTION_EVENT 0x3002
44  #define WIFI_SVR_CMD_STA_SUP_DISCONNECTION_EVENT 0x3003
45  #define WIFI_SVR_CMD_STA_NETWORK_CONNECTION_EVENT 0x3004
46  #define WIFI_SVR_CMD_STA_NETWORK_DISCONNECTION_EVENT 0x3005
47  #define WIFI_SVR_CMD_STA_WPS_START_EVENT 0x3006
48  #define WIFI_SVR_CMD_STA_WPS_CANCEL_EVENT 0x3007
49  #define WIFI_SVR_CMD_STA_WPS_FAILED_EVENT 0x3008
50  #define WIFI_SVR_CMD_STA_WPS_OVERLAP_EVENT 0x3009
51  #define WIFI_SVR_CMD_STA_WPS_TIMEOUT_EVNET 0x300A
52  #define WIFI_SVR_CMD_STA_WPS_WEP_PROHIBITED 0x300B
53  #define WIFI_SVR_CMD_STA_WPS_TKIP_ONLY_PROHIBITED 0x300C
54  #define WIFI_SVR_CMD_STA_WPS_AUTH_FAILURE 0x300D
55  #define WIFI_SVR_CMD_STA_WPS_OVERLAP_ERROR 0x300E
56  #define WIFI_SVR_CMD_STA_SUP_REQUEST_IDENTITY 0x300F
57  #define WIFI_SVR_CMD_STA_SUP_REQUEST_SIM_AUTH 0x3010
58  #define WIFI_SVR_CMD_STA_AUTHENTICATION_FAILURE_EVENT 0x3011
59  #define WIFI_SVR_CMD_STA_REASON_TKIP_ONLY_PROHIBITED 0x3012
60  #define WIFI_SVR_CMD_STA_REASON_WEP_PROHIBITED 0x3013
61  #define WIFI_SVR_CMD_STA_CONFIG_AUTH_FAILURE 0x3014
62  #define WIFI_SVR_CMD_STA_CONFIG_MULTIPLE_PBC_DETECTED 0x3015
63  #define WIFI_SVR_CMD_STA_WPA_STATE_CHANGE_EVENT 0x3016
64  #define WIFI_SVR_CMD_STA_WPA_PASSWD_WRONG_EVENT 0x3017
65  #define WIFI_SVR_CMD_STA_WPA_FULL_CONNECT_EVENT 0x3018
66  #define WIFI_SVR_CMD_STA_WPA_ASSOC_REJECT_EVENT 0x3019
67  #define WIFI_SVR_CMD_STA_BSSID_CHANGED_EVENT 0x301A
68  #define WIFI_SVR_CMD_STA_DHCP_RESULT_NOTIFY_EVENT 0x301B
69  #define WIFI_SVR_CMD_STA_NET_DETECTION_NOTIFY_EVENT 0x301C
70  #define WIFI_SVR_CMD_STA_WPA_EAP_SIM_AUTH_EVENT 0x301D
71  #define WIFI_SVR_CMD_STA_WPA_EAP_UMTS_AUTH_EVENT 0x301E
72  #define WIFI_SVR_CMD_STA_REPORT_DISCONNECT_REASON_EVENT 0x301F
73  #define WIFI_SVR_CMD_STA_PORTAL_BROWSE_NOTIFY_EVENT 0x3020
74  #define WIFI_SVR_CMD_STA_LINK_SWITCH_EVENT 0x3021
75  
76  #define WPA_BLOCK_LIST_CLEAR_EVENT 0x4001
77  #define WIFI_SVR_CMD_UPDATE_COUNTRY_CODE 0x4002
78  #define WIFI_SCREEN_STATE_CHANGED_NOTIFY_EVENT 0x4003
79  
80  #define BSSID_LEN 17
81  #define KEY_LEN 128
82  #define SSID_LEN 30
83  #define VALUE_LIMIT_MIN_RSSI (-100)
84  #define VALUE_LIMIT_MAX_RSSI (-55)
85  
86  enum SelectedType {
87      NETWORK_SELECTED_BY_UNKNOWN = -1,
88      NETWORK_SELECTED_BY_AUTO = 0,
89      NETWORK_SELECTED_BY_USER = 1,
90      NETWORK_SELECTED_BY_RETRY = 2
91  };
92  
93  #define WIFI_SIM_GSM_AUTH_MIN_PARAM_COUNT 3
94  #define WIFI_SIM_GSM_AUTH_MAX_PARAM_COUNT 4
95  #define WIFI_SIM_UMTS_AUTH_PARAM_COUNT 3
96  
97  const int NETWORK_24G_BAND = 1;
98  const int NETWORK_5G_BAND = 2;
99  const int MAX_RETRY_COUNT = 3;
100  #define BAND_2_G 1
101  #define BAND_5_G 2
102  
103  typedef enum EnumStaArpState {
104      ARP_STATE_WORKING,
105      ARP_STATE_UNREACHABLE,
106  } StaArpState;
107  
108  typedef enum EnumStaDnsState {
109      DNS_STATE_WORKING,
110      DNS_STATE_UNREACHABLE,
111  } StaDnsState;
112  
113  typedef enum EnumNetWorkState {
114      NETWORK_NOTWORKING,
115      NETWORK_IS_WORKING,
116      NETWORK_IS_PORTAL,
117  }SystemNetWorkState;
118  
119  typedef enum EnumStaNetState {
120      NETWORK_STATE_UNKNOWN,
121      NETWORK_STATE_WORKING,
122      NETWORK_CHECK_PORTAL,
123      NETWORK_STATE_NOINTERNET,
124      NETWORK_STATE_BUTT,
125  } StaNetState;
126  
127  using ArpStateHandler = std::function<void(StaArpState arpState)>;
128  using DnsStateHandler = std::function<void(StaDnsState dnsState)>;
129  }  // namespace Wifi
130  }  // namespace OHOS
131  #endif /* OHOS_STA_DEFINE_H */
132