WPS support in NM (client mode)
Simple push-button (PBC) support
The most simple is push-button support, it could look like this:
The AP name is obtained from the WPS scan results (see new versions of iw for how to parse this).
Then once the button on the AP is pushed, wpa_supplicant sends an event WPS-AP-AVAILABLE-PBC. At that point, the scan results are checked (akin wpa_cli scan_results) whether the selected BSS contains WPS-PBC, like this:
00:1d:7e:4a:a1:ab 2432 69 [WPA2-PSK-TKIP+CCMP][WPS-PBC] jo
If it does, the button