From: Ilan Peer <ilan.peer@xxxxxxxxx> Add driver callback to start/update/stop NAN cluster operation. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> --- src/drivers/driver.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/drivers/driver.h b/src/drivers/driver.h index dd1be7b377..c143a361fd 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -2422,6 +2422,8 @@ struct wpa_driver_capa { #define WPA_DRIVER_FLAGS2_P2P_FEATURE_V2 0x0000000002000000ULL /** Driver supports P2P PCC mode */ #define WPA_DRIVER_FLAGS2_P2P_FEATURE_PCC_MODE 0x0000000004000000ULL +/** Driver supports NAN Device interface and NAN Synchronization */ +#define WPA_DRIVER_FLAGS2_SUPPORT_NAN 0x0000000008000000ULL u64 flags2; #define FULL_AP_CLIENT_STATE_SUPP(drv_flags) \ @@ -2546,6 +2548,11 @@ struct wpa_driver_capa { /* Maximum number of bytes of extra IE(s) that can be added to Probe * Request frames */ size_t max_probe_req_ie_len; + +#ifdef CONFIG_NAN +#define WPA_DRIVER_FLAGS_NAN_SUPPORT_DUAL_BAND 0x00000001 + u32 nan_flags; +#endif /* CONFIG_NAN */ }; @@ -3170,6 +3177,11 @@ struct driver_sta_mlo_info { } links[MAX_NUM_MLD_LINKS]; }; +struct nan_cluster_config { + u8 master_pref; + u8 dual_band; +}; + /** * struct wpa_driver_ops - Driver interface API definition * @@ -5516,6 +5528,34 @@ struct wpa_driver_ops { */ struct hostapd_multi_hw_info * (*get_multi_hw_info)(void *priv, unsigned int *num_multi_hws); + +#ifdef CONFIG_NAN + /** + * nan_start - start NAN operation + * @priv: Private driver interface data + * @conf: NAN configuration parameters + * Returns 0 on success, -1 on failure + * + * This command joins an existing NAN cluster or starts a new one. + */ + int (*nan_start)(void *priv, struct nan_cluster_config *conf); + + /** + * nan_change_config - Update the NAN cluster configuration + * @priv: Private driver interface data + * @conf: NAN configuration parameters + * Returns 0 on success, -1 on failure + * + * This command modifies the NAN cluster configuration. + */ + int (*nan_change_config)(void *priv, struct nan_cluster_config *conf); + + /** + * nan_stop - stops NAN operation + * @priv: Private driver interface data + */ + void (*nan_stop)(void *priv); +#endif }; /** -- 2.49.0 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap