mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2026-02-07 02:28:02 +01:00
The net.connman.iwd.p2p.ServiceManager interface on the /net/connman/iwd object lets user applications register/unregister the Wi-Fi Display service. In this commit all it does is it adds local WFD information as given by the app, to the frames we send out during discovery. Instead of accepting raw WFD IE contents from the app and exposing peers' raw WFD IEs to the app, we build the WFD IEs in our code based on the few meaningful DBus properties that we support and using default values for the rest. If an app ever needs any of the other WFD capabilities more properties can be added.
80 lines
3.4 KiB
C
80 lines
3.4 KiB
C
/*
|
|
*
|
|
* Wireless daemon for Linux
|
|
*
|
|
* Copyright (C) 2013-2019 Intel Corporation. All rights reserved.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
*/
|
|
|
|
#include <stdbool.h>
|
|
|
|
#define IWD_SERVICE "net.connman.iwd"
|
|
|
|
#define IWD_AGENT_MANAGER_INTERFACE "net.connman.iwd.AgentManager"
|
|
#define IWD_WIPHY_INTERFACE "net.connman.iwd.Adapter"
|
|
#define IWD_DEVICE_INTERFACE "net.connman.iwd.Device"
|
|
#define IWD_NETWORK_INTERFACE "net.connman.iwd.Network"
|
|
#define IWD_AGENT_INTERFACE "net.connman.iwd.Agent"
|
|
#define IWD_WSC_INTERFACE "net.connman.iwd.SimpleConfiguration"
|
|
#define IWD_KNOWN_NETWORK_INTERFACE "net.connman.iwd.KnownNetwork"
|
|
#define IWD_SIGNAL_AGENT_INTERFACE "net.connman.iwd.SignalLevelAgent"
|
|
#define IWD_AP_INTERFACE "net.connman.iwd.AccessPoint"
|
|
#define IWD_ADHOC_INTERFACE "net.connman.iwd.AdHoc"
|
|
#define IWD_STATION_INTERFACE "net.connman.iwd.Station"
|
|
#define IWD_P2P_INTERFACE "net.connman.iwd.p2p.Device"
|
|
#define IWD_P2P_PEER_INTERFACE "net.connman.iwd.p2p.Peer"
|
|
#define IWD_P2P_SERVICE_MANAGER_INTERFACE "net.connman.iwd.p2p.ServiceManager"
|
|
|
|
#define IWD_BASE_PATH "/net/connman/iwd"
|
|
#define IWD_AGENT_MANAGER_PATH IWD_BASE_PATH
|
|
#define IWD_P2P_SERVICE_MANAGER_PATH IWD_BASE_PATH
|
|
|
|
struct l_dbus;
|
|
|
|
struct l_dbus *dbus_get_bus(void);
|
|
|
|
void dbus_pending_reply(struct l_dbus_message **msg,
|
|
struct l_dbus_message *reply);
|
|
|
|
const char *dbus_iftype_to_string(unsigned int iftype);
|
|
|
|
struct l_dbus_message *dbus_error_busy(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_failed(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_aborted(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_not_available(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_invalid_args(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_invalid_format(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_already_exists(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_not_found(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_not_supported(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_no_agent(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_not_connected(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_not_configured(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_not_implemented(struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_service_set_overlap(
|
|
struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_already_provisioned(
|
|
struct l_dbus_message *msg);
|
|
struct l_dbus_message *dbus_error_not_hidden(struct l_dbus_message *msg);
|
|
|
|
struct l_dbus_message *dbus_error_from_errno(int err,
|
|
struct l_dbus_message *msg);
|
|
|
|
bool dbus_init(struct l_dbus *dbus);
|
|
void dbus_exit(void);
|
|
void dbus_shutdown(void);
|