1 /*
2  * Copyright (C) 2021 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 #include "wifi_hal_vendor_interface.h"
17 #include "wifi_log.h"
18 #undef LOG_TAG
19 #define LOG_TAG "WifiHalVenderInterface"
20 
ConvertErrorCode(HalVendorError code)21 WifiErrorNo ConvertErrorCode(HalVendorError code)
22 {
23     switch (code) {
24         case HAL_VENDOR_SUCCESS:
25             return WIFI_HAL_SUCCESS;
26         case HAL_VENDOR_ERROR_UNKNOWN:
27             return WIFI_HAL_VENDOR_UNKNOWN;
28         case HAL_VENDOR_ERROR_UNINITIALIZED:
29             return WIFI_HAL_VENDOR_UNINITIALIZED;
30         case HAL_VENDOR_ERROR_NOT_SUPPORTED:
31             return WIFI_HAL_NOT_SUPPORT;
32         case HAL_VENDOR_ERROR_NOT_AVAILABLE:
33             return WIFI_HAL_VENDOR_NOT_AVAILABLE;
34         case HAL_VENDOR_ERROR_INVALID_ARGS:
35             return WIFI_HAL_VENDOR_INVALID_ARGS;
36         case HAL_VENDOR_ERROR_INVALID_REQUEST_ID:
37             return WIFI_HAL_VENDOR_INVALID_REQUEST_ID;
38         case HAL_VENDOR_ERROR_TIMED_OUT:
39             return WIFI_HAL_VENDOR_TIMED_OUT;
40         case HAL_VENDOR_ERROR_TOO_MANY_REQUESTS:
41             return WIFI_HAL_VENDOR_TOO_MANY_REQUESTS;
42         case HAL_VENDOR_ERROR_OUT_OF_MEMORY:
43             return WIFI_HAL_VENDOR_OUT_OF_MEMORY;
44         case HAL_VENDOR_ERROR_BUSY:
45             return WIFI_HAL_VENDOR_BUSY;
46         default:
47             return WIFI_HAL_SUCCESS;
48     }
49 }
50 
WifiInitialize(void)51 HalVendorError WifiInitialize(void)
52 {
53     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
54 }
55 
WifiCleanUp(void)56 HalVendorError WifiCleanUp(void)
57 {
58     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
59 }
60 
WifiGetSupportedFeature(long * feature)61 HalVendorError WifiGetSupportedFeature(long *feature)
62 {
63     LOGD("WifiGetSupportedFeature");
64     if (feature != NULL) {
65         *feature = 0; /* fixed compile error, -Werror,-Wunused-parameter */
66     }
67     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
68 }
69 
WifiSetScanningMacAddress(const char * szMac,int macSize)70 HalVendorError WifiSetScanningMacAddress(const char *szMac, int macSize)
71 {
72     LOGD("WifiSetScanningMacAddress mac %{private}s, size %{public}d", (szMac == NULL) ? "" : szMac, macSize);
73     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
74 }
75 
WifiDeauthLastRoamingBssid(const char * szMac,int macSize)76 HalVendorError WifiDeauthLastRoamingBssid(const char *szMac, int macSize)
77 {
78     LOGD("WifiDeauthLastRoamingBssid mac %{private}s, size %{public}d", (szMac == NULL) ? "" : szMac, macSize);
79     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
80 }
81 
WifiSetWifiTxPower(int32_t power)82 HalVendorError WifiSetWifiTxPower(int32_t power)
83 {
84     LOGD("WifiSetWifiTxPower power %{public}d", power);
85     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
86 }
87 
WifiConfigComboModes(int32_t mode)88 HalVendorError WifiConfigComboModes(int32_t mode)
89 {
90     LOGD("WifiConfigComboModes mode %{public}d", mode);
91     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
92 }
93 
WifiGetComboModes(int32_t * id)94 HalVendorError WifiGetComboModes(int32_t *id)
95 {
96     LOGD("WifiGetComboModes");
97     if (id != NULL) {
98         *id = 0; /* fixed compile error, -Werror,-Wunused-parameter */
99     }
100     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
101 }
102 
WifiRequestFirmwareDebugDump(unsigned char * bytes,int32_t * size)103 HalVendorError WifiRequestFirmwareDebugDump(unsigned char *bytes, int32_t *size)
104 {
105     LOGD("WifiRequestFirmwareDebugDump");
106     /* fixed compile error, -Werror,-Wunused-parameter */
107     if (bytes != NULL && size != NULL) {
108         LOGD("WifiRequestFirmwareDebugDump bytes %{private}s, size %{public}d", bytes, *size);
109     }
110     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
111 }
112 
WifiSetMiracastMode(int mode)113 HalVendorError WifiSetMiracastMode(int mode)
114 {
115     LOGD("WifiSetMiracastMode mode %{public}d", mode);
116     return HAL_VENDOR_ERROR_NOT_SUPPORTED;
117 }
InitDefaultHalVendorFunc(WifiHalVendorFunc * func)118 HalVendorError InitDefaultHalVendorFunc(WifiHalVendorFunc *func)
119 {
120     if (func == NULL) {
121         LOGD("InitDefaultHalVendorFunc func is NULL");
122         return HAL_VENDOR_ERROR_UNKNOWN;
123     }
124     func->wifiInitialize = WifiInitialize;
125     func->wifiCleanUp = WifiCleanUp;
126     func->wifiGetSupportedFeature = WifiGetSupportedFeature;
127     func->wifiSetScanningMacAddress = WifiSetScanningMacAddress;
128     func->wifiDeauthLastRoamingBssid = WifiDeauthLastRoamingBssid;
129     func->wifiSetWifiTxPower = WifiSetWifiTxPower;
130     func->wifiConfigComboModes = WifiConfigComboModes;
131     func->wifiGetComboModes = WifiGetComboModes;
132     func->wifiRequestFirmwareDebugDump = WifiRequestFirmwareDebugDump;
133     func->wifiSetMiracastMode = WifiSetMiracastMode;
134     return HAL_VENDOR_SUCCESS;
135 }
136