1094332d3Sopenharmony_ci/* 2094332d3Sopenharmony_ci * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 3094332d3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4094332d3Sopenharmony_ci * you may not use this file except in compliance with the License. 5094332d3Sopenharmony_ci * You may obtain a copy of the License at 6094332d3Sopenharmony_ci * 7094332d3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8094332d3Sopenharmony_ci * 9094332d3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10094332d3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11094332d3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12094332d3Sopenharmony_ci * See the License for the specific language governing permissions and 13094332d3Sopenharmony_ci * limitations under the License. 14094332d3Sopenharmony_ci */ 15094332d3Sopenharmony_ci#ifndef WLAN_COMMON_CMD_H 16094332d3Sopenharmony_ci#define WLAN_COMMON_CMD_H 17094332d3Sopenharmony_ci 18094332d3Sopenharmony_ci#include "../wlan_impl.h" 19094332d3Sopenharmony_ci 20094332d3Sopenharmony_ciint32_t WlanInterfaceStart(struct IWlanInterface *self); 21094332d3Sopenharmony_ciint32_t WlanInterfaceStop(struct IWlanInterface *self); 22094332d3Sopenharmony_ciint32_t WlanInterfaceCreateFeature(struct IWlanInterface *self, int32_t type, struct HdfFeatureInfo *ifeature); 23094332d3Sopenharmony_ciint32_t WlanInterfaceDestroyFeature(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature); 24094332d3Sopenharmony_ciint32_t WlanInterfaceGetAssociatedStas(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 25094332d3Sopenharmony_ci struct HdfStaInfo *staInfo, uint32_t *staInfoLen, uint32_t *num); 26094332d3Sopenharmony_ciint32_t WlanInterfaceGetChipId(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, uint8_t *chipId); 27094332d3Sopenharmony_ciint32_t WlanInterfaceGetDeviceMacAddress(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 28094332d3Sopenharmony_ci uint8_t *mac, uint32_t *macLen, uint8_t len); 29094332d3Sopenharmony_ciint32_t WlanInterfaceGetFeatureByIfName(struct IWlanInterface *self, const char *ifName, 30094332d3Sopenharmony_ci struct HdfFeatureInfo *ifeature); 31094332d3Sopenharmony_ciint32_t WlanInterfaceGetFeatureType(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 32094332d3Sopenharmony_ci int32_t *featureType); 33094332d3Sopenharmony_ciint32_t WlanInterfaceGetFreqsWithBand(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 34094332d3Sopenharmony_ci const struct HdfWifiInfo *wifiInfo, int32_t *freq, uint32_t *freqLen); 35094332d3Sopenharmony_ciint32_t WlanInterfaceGetIfNamesByChipId(struct IWlanInterface *self, uint8_t chipId, char *ifName, 36094332d3Sopenharmony_ci uint32_t ifNameLen, uint32_t *num); 37094332d3Sopenharmony_ciint32_t WlanInterfaceGetNetworkIfaceName(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 38094332d3Sopenharmony_ci char *ifName, uint32_t ifNameLen); 39094332d3Sopenharmony_ciint32_t WlanInterfaceGetSupportCombo(struct IWlanInterface *self, uint64_t *combo); 40094332d3Sopenharmony_ciint32_t WlanInterfaceGetSupportFeature(struct IWlanInterface *self, uint8_t *supType, uint32_t *supTypeLen); 41094332d3Sopenharmony_ciint32_t WlanInterfaceRegisterEventCallback(struct IWlanInterface *self, struct IWlanCallback *cbFunc, 42094332d3Sopenharmony_ci const char *ifName); 43094332d3Sopenharmony_ciint32_t WlanInterfaceUnregisterEventCallback(struct IWlanInterface *self, struct IWlanCallback *cbFunc, 44094332d3Sopenharmony_ci const char *ifName); 45094332d3Sopenharmony_ciint32_t WlanInterfaceResetDriver(struct IWlanInterface *self, uint8_t chipId, const char *ifName); 46094332d3Sopenharmony_ciint32_t WlanInterfaceSetCountryCode(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 47094332d3Sopenharmony_ci const char *code, uint32_t len); 48094332d3Sopenharmony_ciint32_t WlanInterfaceSetMacAddress(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 49094332d3Sopenharmony_ci const uint8_t *mac, uint32_t macLen); 50094332d3Sopenharmony_ciint32_t WlanInterfaceSetScanningMacAddress(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 51094332d3Sopenharmony_ci const uint8_t *scanMac, uint32_t scanMacLen); 52094332d3Sopenharmony_ciint32_t WlanInterfaceSetTxPower(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, int32_t power); 53094332d3Sopenharmony_ciint32_t WlanInterfaceGetNetDevInfo(struct IWlanInterface *self, struct HdfNetDeviceInfoResult *netDeviceInfoResult); 54094332d3Sopenharmony_ciint32_t WlanInterfaceStartScan(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, 55094332d3Sopenharmony_ci const struct HdfWifiScan *scan); 56094332d3Sopenharmony_ciint32_t WlanInterfaceGetPowerMode(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, uint8_t *mode); 57094332d3Sopenharmony_ciint32_t WlanInterfaceSetPowerMode(struct IWlanInterface *self, const struct HdfFeatureInfo *ifeature, uint8_t mode); 58094332d3Sopenharmony_ciint32_t WlanInterfaceSetProjectionScreenParam(struct IWlanInterface *self, const char *ifName, 59094332d3Sopenharmony_ci const struct ProjectionScreenCmdParam *param); 60094332d3Sopenharmony_ciint32_t WlanInterfaceGetStaInfo(struct IWlanInterface *self, const char *ifName, struct WifiStationInfo *info, 61094332d3Sopenharmony_ci const uint8_t *mac, uint32_t macLen); 62094332d3Sopenharmony_ciint32_t WlanInterfaceStartPnoScan(struct IWlanInterface *self, const char *ifName, 63094332d3Sopenharmony_ci const struct PnoSettings *pnoSettings); 64094332d3Sopenharmony_ciint32_t WlanInterfaceStopPnoScan(struct IWlanInterface *self, const char *ifName); 65094332d3Sopenharmony_ciint32_t WlanInterfaceGetSignalPollInfo(struct IWlanInterface *self, const char *ifName, 66094332d3Sopenharmony_ci struct SignalPollResult *signalResult); 67094332d3Sopenharmony_ciint32_t WlanInterfaceGetApBandwidth(struct IWlanInterface *self, const char *ifName, 68094332d3Sopenharmony_ci uint8_t *bandwidth); 69094332d3Sopenharmony_ciint32_t WlanInterfaceResetToFactoryMacAddress(struct IWlanInterface *self, const char *ifName); 70094332d3Sopenharmony_ciint32_t WlanInterfaceSendActionFrame(struct IWlanInterface *self, const char *ifName, uint32_t freq, 71094332d3Sopenharmony_ci const uint8_t *frameData, uint32_t frameDataLen); 72094332d3Sopenharmony_ciint32_t WlanInterfaceRegisterActionFrameReceiver(struct IWlanInterface *self, const char *ifName, 73094332d3Sopenharmony_ci const uint8_t *match, uint32_t matchLen); 74094332d3Sopenharmony_ciint32_t WlanInterfaceGetCoexChannelList(struct IWlanInterface *self, const char *ifName, 75094332d3Sopenharmony_ci uint8_t *paramBuf, uint32_t *paramBufLen); 76094332d3Sopenharmony_ciint32_t WlanInterfaceSetPowerSaveMode(struct IWlanInterface *self, const char *ifName, int32_t frequency, 77094332d3Sopenharmony_ci int32_t mode); 78094332d3Sopenharmony_ciint32_t WlanInterfaceSetDpiMarkRule(struct IWlanInterface *self, int32_t uid, int32_t protocol, int32_t enable); 79094332d3Sopenharmony_ciint32_t WlanInterfaceWifiConstruct(void); 80094332d3Sopenharmony_ciint32_t WlanInterfaceWifiDestruct(void); 81094332d3Sopenharmony_ci#endif 82