1 /* 2 * Copyright (C) 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 OHOS_WIFI_HDI_WPA_P2P_IMPL_H 17 #define OHOS_WIFI_HDI_WPA_P2P_IMPL_H 18 19 #ifdef HDI_WPA_INTERFACE_SUPPORT 20 #include "wifi_hdi_wpa_proxy.h" 21 #include "i_wifi_struct.h" 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 WifiErrorNo HdiWpaP2pStart(const char *ifaceName, const bool hasPersisentGroup); 28 29 WifiErrorNo HdiWpaP2pStop(); 30 31 WifiErrorNo RegisterHdiWpaP2pEventCallback(struct IWpaCallback *callback); 32 33 WifiErrorNo HdiP2pSetSsidPostfixName(const char *name); 34 35 WifiErrorNo HdiP2pSetWpsDeviceType(const char *type); 36 37 WifiErrorNo HdiP2pSetWpsConfigMethods(const char *methods); 38 39 WifiErrorNo HdiP2pSetGroupMaxIdle(const char *groupIfc, int time); 40 41 WifiErrorNo HdiP2pSetWfdEnable(int enable); 42 43 WifiErrorNo HdiP2pSetPersistentReconnect(int status); 44 45 WifiErrorNo HdiP2pSetWpsSecondaryDeviceType(const char *type); 46 47 WifiErrorNo HdiP2pSetupWpsPbc(const char *groupIfc, const char *address); 48 49 WifiErrorNo HdiP2pSetupWpsPin(const char *groupIfc, const char *address, const char *pin, char *result); 50 51 WifiErrorNo HdiP2pSetPowerSave(const char *groupIfc, int enable); 52 53 WifiErrorNo HdiP2pSetDeviceName(const char *name); 54 55 WifiErrorNo HdiP2pSetWfdDeviceConfig(const char *config); 56 57 WifiErrorNo HdiP2pSetRandomMac(int enable); 58 59 WifiErrorNo HdiP2pStartFind(int timeout); 60 61 WifiErrorNo HdiP2pSetExtListen(int enable, int period, int interval); 62 63 WifiErrorNo HdiP2pSetListenChannel(int channel, int regClass); 64 65 WifiErrorNo HdiP2pProvisionDiscovery(const char *peerBssid, int mode); 66 67 WifiErrorNo HdiP2pAddGroup(int isPersistent, int networkId, int freq); 68 69 WifiErrorNo HdiP2pAddService(struct HdiP2pServiceInfo *info); 70 71 WifiErrorNo HdiP2pRemoveService(struct HdiP2pServiceInfo *info); 72 73 WifiErrorNo HdiP2pStopFind(); 74 75 WifiErrorNo HdiP2pFlush(); 76 77 WifiErrorNo HdiP2pFlushService(); 78 79 WifiErrorNo HdiP2pRemoveNetwork(int networkId); 80 81 WifiErrorNo HdiP2pSetGroupConfig(int networkId, P2pGroupConfig *pConfig, int size); 82 83 WifiErrorNo HdiP2pInvite(const char *peerBssid, const char *goBssid, const char *ifname); 84 85 WifiErrorNo HdiP2pReinvoke(int networkId, const char *bssid); 86 87 WifiErrorNo HdiP2pGetDeviceAddress(char *deviceAddress, int size); 88 89 WifiErrorNo HdiP2pReqServiceDiscovery(struct HdiP2pReqService *reqService, char *replyDisc, int size); 90 91 WifiErrorNo HdiP2pCancelServiceDiscovery(const char *id); 92 93 WifiErrorNo HdiP2pRespServerDiscovery(struct HdiP2pServDiscReqInfo *info); 94 95 WifiErrorNo HdiP2pConnect(P2pConnectInfo *info, char *replyPin, int size); 96 97 WifiErrorNo HdiP2pHid2dConnect(struct Hid2dConnectInfo *info); 98 99 WifiErrorNo HdiP2pSetServDiscExternal(int mode); 100 101 WifiErrorNo HdiP2pRemoveGroup(const char *groupName); 102 103 WifiErrorNo HdiP2pCancelConnect(); 104 105 WifiErrorNo HdiP2pGetGroupConfig(int networkId, char *param, char *value); 106 107 WifiErrorNo HdiP2pAddNetwork(int *networkId); 108 109 WifiErrorNo HdiP2pGetPeer(const char *bssid, struct HdiP2pDeviceInfo *info); 110 111 WifiErrorNo HdiP2pGetGroupCapability(const char *bssid, int cap); 112 113 WifiErrorNo HdiP2pListNetworks(struct HdiP2pNetworkList *infoList); 114 115 WifiErrorNo HdiP2pSaveConfig(); 116 117 WifiErrorNo HdiDeliverP2pData(int32_t cmdType, int32_t dataType, const char *carryData); 118 119 #ifdef __cplusplus 120 } 121 #endif 122 #endif 123 #endif