X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Fdrivers%2Fdriver.h;h=3c0ef2ae2f852f5b4ff98c707dad1bce4ee49ccb;hb=bcf24348ed32c2f9b24cc575c32f83db3dc9cba1;hp=3c9f91e4aae7048761789dc2fe4a6ac1956cd41e;hpb=7a25f29d890f56c4df81143f8b5eb42fb5eeeb07;p=mech_eap.git diff --git a/src/drivers/driver.h b/src/drivers/driver.h index 3c9f91e..3c0ef2a 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -2501,6 +2501,20 @@ struct wpa_driver_ops { * sched_scan is supported. */ int (*stop_sched_scan)(void *priv); + + /** + * poll_client - Probe (null data or such) the given station + * @priv: Private driver interface data + * @own_addr: MAC address of sending interface + * @addr: MAC address of the station to probe + * @qos: Indicates whether station is QoS station + * + * This function is used to verify whether an associated station is + * still present. This function does not need to be implemented if the + * driver provides such inactivity polling mechanism. + */ + void (*poll_client)(void *priv, const u8 *own_addr, + const u8 *addr, int qos); }; @@ -2918,7 +2932,15 @@ enum wpa_event_type { /** * EVENT_SCHED_SCAN_STOPPED - Scheduled scan was stopped */ - EVENT_SCHED_SCAN_STOPPED + EVENT_SCHED_SCAN_STOPPED, + + /** + * EVENT_DRIVER_CLIENT_POLL_OK - Station responded to poll + * + * This event indicates that the station responded to the poll + * initiated with @poll_client. + */ + EVENT_DRIVER_CLIENT_POLL_OK }; @@ -3472,6 +3494,14 @@ union wpa_event_data { const u8 *bssid; const u8 *replay_ctr; } driver_gtk_rekey; + + /** + * struct client_poll - Data for EVENT_DRIVER_CLIENT_POLL_OK events + * @addr: station address + */ + struct client_poll { + u8 addr[ETH_ALEN]; + } client_poll; }; /**