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