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 /**
17  * @addtogroup Wifi
18  * @{
19  *
20  * @brief Provide functions for querying the status of wifi switch.
21  * @since 13
22  */
23 /**
24  * @file oh_wifi.h
25  * @kit ConnectivityKit
26  * @brief Define interfaces for querying wifi switch status.
27  * @library libwifi.so
28  * @syscap SystemCapability.Communication.WiFi.STA
29  * @since 13
30  */
31 
32 #ifndef OH_WIFI_H
33 #define OH_WIFI_H
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 /**
40  * @brief Enumerates the wifi result codes.
41  *
42  * @since 13
43  */
44 typedef enum Wifi_ResultCode {
45     /**
46      * @error The operation is successful.
47      */
48     WIFI_SUCCESS = 0,
49     /**
50      * @error Permission verification failed. The application does not have the
51      * permission required to call the API.
52      */
53     WIFI_PERMISSION_DENIED = 201,
54     /**
55      * @error Parameter error. Possible reasons: 1. The input parameter is a null pointer;\n
56      * 2. Parameter values exceed the defined range.\n
57      */
58     WIFI_INVALID_PARAM = 401,
59     /**
60      * @error Capability not supported. Failed to call function due to limited device capabilities.
61      */
62     WIFI_NOT_SUPPORTED = 801,
63     /**
64      * @error Operation failed.
65      * Possible reasons: Internal execution failed.
66      */
67     WIFI_OPERATION_FAILED = 2501000
68 } Wifi_ResultCode;
69 
70 /**
71  * @brief Check whether the wifi switch is enabled.
72  *
73  * @param enabled - It is a boolean pointer used to receive wifi switch status values.\n
74  * Equal to true indicates that the wifi switch is turned on, false indicates that\n
75  * the wifi switch is turned off.\n
76  * The caller needs to pass in a non empty boolean pointer, otherwise an error will be returned.\n
77  * @return wifi functions result code.\n
78  *     For a detailed definition, please refer to {@link Wifi_ResultCode}.\n
79  *     {@link WIFI_SUCCESS} Successfully obtained the wifi switch status.\n
80  *     {@link WIFI_INVALID_PARAM} The input parameter enabled is a null pointer.\n
81  *     {@link WIFI_OPERATION_FAILED} Internal execution failed.\n
82  * @since 13
83  */
84 Wifi_ResultCode OH_Wifi_IsWifiEnabled(bool *enabled);
85 
86 #ifdef __cplusplus
87 }
88 #endif
89 /** @} */
90 #endif // OH_WIFI_H