It will be possible to tell the WPS method which is wanted to connect to
the peer.
---
include/peer.h | 10 +++++++++-
plugins/wifi.c | 4 +++-
src/peer.c | 3 ++-
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/include/peer.h b/include/peer.h
index 720d65b..dd118cd 100644
--- a/include/peer.h
+++ b/include/peer.h
@@ -36,6 +36,12 @@ enum connman_peer_state {
CONNMAN_PEER_STATE_FAILURE = 6,
};
+enum connman_peer_wps_method {
+ CONNMAN_PEER_WPS_UNKNOWN = 0,
+ CONNMAN_PEER_WPS_PBC = 1,
+ CONNMAN_PEER_WPS_PIN = 2,
+};
+
struct connman_peer;
struct connman_peer *connman_peer_create(const char *identifier);
@@ -69,7 +75,9 @@ struct connman_peer *connman_peer_get(struct connman_device
*device,
const char *identifier);
struct connman_peer_driver {
- int (*connect) (struct connman_peer *peer);
+ int (*connect) (struct connman_peer *peer,
+ enum connman_peer_wps_method wps_method,
+ const char *wps_pin);
int (*disconnect) (struct connman_peer *peer);
};
diff --git a/plugins/wifi.c b/plugins/wifi.c
index 4f7150d..24fd844 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -236,7 +236,9 @@ static void peer_connect_callback(int result,
GSupplicantInterface *interface,
peer_connect_timeout, wifi);
}
-static int peer_connect(struct connman_peer *peer)
+static int peer_connect(struct connman_peer *peer,
+ enum connman_peer_wps_method wps_method,
+ const char *wps_pin)
{
struct connman_device *device = connman_peer_get_device(peer);
GSupplicantPeerParams *peer_params;
diff --git a/src/peer.c b/src/peer.c
index 2d40dc4..50df50e 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -454,7 +454,8 @@ static int peer_connect(struct connman_peer *peer)
int err = -ENOTSUP;
if (peer_driver->connect)
- err = peer_driver->connect(peer);
+ err = peer_driver->connect(peer,
+ CONNMAN_PEER_WPS_UNKNOWN, NULL);
return err;
}
--
1.8.5.5
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman