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
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to