Home | History | Annotate | Line # | Download | only in wpa_supplicant
      1  1.1  christos /*
      2  1.1  christos  * NAN unsynchronized service discovery (USD)
      3  1.1  christos  * Copyright (c) 2024, Qualcomm Innovation Center, Inc.
      4  1.1  christos  *
      5  1.1  christos  * This software may be distributed under the terms of the BSD license.
      6  1.1  christos  * See README for more details.
      7  1.1  christos  */
      8  1.1  christos 
      9  1.1  christos #ifndef NAN_USD_H
     10  1.1  christos #define NAN_USD_H
     11  1.1  christos 
     12  1.1  christos struct nan_subscribe_params;
     13  1.1  christos struct nan_publish_params;
     14  1.1  christos enum nan_service_protocol_type;
     15  1.1  christos 
     16  1.1  christos int wpas_nan_usd_init(struct wpa_supplicant *wpa_s);
     17  1.1  christos void wpas_nan_usd_deinit(struct wpa_supplicant *wpa_s);
     18  1.1  christos void wpas_nan_usd_rx_sdf(struct wpa_supplicant *wpa_s, const u8 *src,
     19  1.1  christos 			 unsigned int freq, const u8 *buf, size_t len);
     20  1.1  christos void wpas_nan_usd_flush(struct wpa_supplicant *wpa_s);
     21  1.1  christos int wpas_nan_usd_publish(struct wpa_supplicant *wpa_s, const char *service_name,
     22  1.1  christos 			 enum nan_service_protocol_type srv_proto_type,
     23  1.1  christos 			 const struct wpabuf *ssi,
     24  1.1  christos 			 struct nan_publish_params *params);
     25  1.1  christos void wpas_nan_usd_cancel_publish(struct wpa_supplicant *wpa_s, int publish_id);
     26  1.1  christos int wpas_nan_usd_update_publish(struct wpa_supplicant *wpa_s, int publish_id,
     27  1.1  christos 				const struct wpabuf *ssi);
     28  1.1  christos int wpas_nan_usd_subscribe(struct wpa_supplicant *wpa_s,
     29  1.1  christos 			   const char *service_name,
     30  1.1  christos 			   enum nan_service_protocol_type srv_proto_type,
     31  1.1  christos 			   const struct wpabuf *ssi,
     32  1.1  christos 			   struct nan_subscribe_params *params);
     33  1.1  christos void wpas_nan_usd_cancel_subscribe(struct wpa_supplicant *wpa_s,
     34  1.1  christos 				   int subscribe_id);
     35  1.1  christos int wpas_nan_usd_transmit(struct wpa_supplicant *wpa_s, int handle,
     36  1.1  christos 			  const struct wpabuf *ssi, const struct wpabuf *elems,
     37  1.1  christos 			  const u8 *peer_addr, u8 req_instance_id);
     38  1.1  christos void wpas_nan_usd_remain_on_channel_cb(struct wpa_supplicant *wpa_s,
     39  1.1  christos 				       unsigned int freq,
     40  1.1  christos 				       unsigned int duration);
     41  1.1  christos void wpas_nan_usd_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,
     42  1.1  christos 					      unsigned int freq);
     43  1.1  christos void wpas_nan_usd_tx_wait_expire(struct wpa_supplicant *wpa_s);
     44  1.1  christos int * wpas_nan_usd_all_freqs(struct wpa_supplicant *wpa_s);
     45  1.1  christos 
     46  1.1  christos #endif /* NAN_USD_H */
     47