1/*
2 * Copyright (c) 2021-2023 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 WIFI_HAL_CMD_H
17#define WIFI_HAL_CMD_H
18
19#include "wifi_hal_ap_feature.h"
20#include "wifi_hal_common.h"
21#include "wifi_driver_client.h"
22
23#ifdef __cplusplus
24#if __cplusplus
25extern "C" {
26#endif
27#endif
28
29#define MAX_CHANNEL_NUM 14
30int32_t HalCmdGetAvailableNetwork(void);
31int32_t HalCmdGetSupportType(uint8_t *supType);
32int32_t HalCmdGetSupportCombo(uint64_t *supCombo, uint32_t size);
33int32_t HalCmdGetDevMacAddr(const char *ifName, int32_t type, unsigned char *mac, uint8_t len);
34int32_t HalCmdSetMacAddr(const char *ifName, unsigned char *mac, uint8_t len);
35int32_t HalCmdSetTxPower(const char *ifName, int32_t power);
36int32_t HalCmdSetCountryCode(const char *ifName, const char *code, uint32_t len);
37int32_t HalCmdGetAssociatedStas(const char *ifName, struct StaInfo *staInfo, uint32_t count, uint32_t *num);
38int32_t HalCmdSetScanningMacAddress(const char *ifName, unsigned char *scanMac, uint8_t len);
39int32_t HalCmdGetValidFreqWithBand(const char *ifName, int32_t band, int32_t *freqs, uint32_t size, uint32_t *num);
40int32_t HalCmdGetChipId(const char *ifName, uint8_t *chipId);
41int32_t HalCmdGetIfNamesByChipId(const uint8_t chipId, char **ifNames, uint32_t *num);
42int32_t HalCmdSetResetDriver(const uint8_t chipId, const char *ifName);
43int32_t HalCmdStartScanInner(const char *ifName, WifiScan *scan);
44int32_t HalCmdStartPnoScan(const char *ifName, const WifiPnoSettings *pnoSettings);
45int32_t HalCmdStopPnoScan(const char *ifName);
46int32_t HalCmdGetSignalPollInfo(const char *ifName, struct SignalResult *signalResult);
47int32_t HalCmdGetFeatureByIfName(const char *ifName, struct IWiFiBaseFeature **ifeature);
48int32_t HalCmdGetApBandwidth(const char *ifName, uint8_t *bandwidth);
49int32_t HalCmdResetToFactoryMacAddress(const char *ifNames);
50
51struct DListHead *GetNetworkHead(void);
52void ClearIWiFiList(void);
53void InitIWiFiList(void);
54
55#ifdef __cplusplus
56#if __cplusplus
57}
58#endif
59#endif
60
61#endif /* WIFI_HAL_CMD_H */
62