H A D | p2p.c | 21 #include "p2p.h" 25 static void p2p_device_free(struct p2p_data *p2p, struct p2p_device *dev); 26 static void p2p_process_presence_req(struct p2p_data *p2p, const u8 *da, 29 static void p2p_process_presence_resp(struct p2p_data *p2p, const u8 *da, 53 void p2p_expire_peers(struct p2p_data *p2p) argument 60 dl_list_for_each_safe(dev, n, &p2p->devices, struct p2p_device, list) { 64 if (dev == p2p->go_neg_peer) { 73 if (p2p->cfg->go_connected && 74 p2p->cfg->go_connected(p2p 141 p2p_get_state_txt(struct p2p_data *p2p) argument 147 p2p_get_p2ps_adv_list(struct p2p_data *p2p) argument 153 p2p_set_intended_addr(struct p2p_data *p2p, const u8 *intended_addr) argument 160 p2p_get_provisioning_info(struct p2p_data *p2p, const u8 *addr) argument 175 p2p_clear_provisioning_info(struct p2p_data *p2p, const u8 *addr) argument 188 p2p_set_state(struct p2p_data *p2p, int new_state) argument 204 p2p_set_timeout(struct p2p_data *p2p, unsigned int sec, unsigned int usec) argument 213 p2p_clear_timeout(struct p2p_data *p2p) argument 220 p2p_go_neg_failed(struct p2p_data *p2p, int status) argument 253 p2p_listen_in_find(struct p2p_data *p2p, int dev_disc) argument 308 p2p_listen(struct p2p_data *p2p, unsigned int timeout) argument 360 p2p_device_clear_reported(struct p2p_data *p2p) argument 376 p2p_get_device(struct p2p_data *p2p, const u8 *addr) argument 393 p2p_get_device_interface(struct p2p_data *p2p, const u8 *addr) argument 414 p2p_create_device(struct p2p_data *p2p, const u8 *addr) argument 461 p2p_add_group_clients(struct p2p_data *p2p, const u8 *go_dev_addr, const u8 *go_interface_addr, int freq, const u8 *gi, size_t gi_len, struct os_reltime *rx_time) argument 543 p2p_copy_wps_info(struct p2p_data *p2p, struct p2p_device *dev, int probe_req, const struct p2p_message *msg) argument 706 p2p_add_device(struct p2p_data *p2p, const u8 *addr, int freq, struct os_reltime *rx_time, int level, const u8 *ies, size_t ies_len, int scan_res) argument 910 p2p_device_free(struct p2p_data *p2p, struct p2p_device *dev) argument 946 p2p_get_next_prog_freq(struct p2p_data *p2p) argument 1000 p2p_search(struct p2p_data *p2p) argument 1042 struct p2p_data *p2p = eloop_ctx; local 1048 p2p_notify_scan_trigger_status(struct p2p_data *p2p, int status) argument 1064 p2p_run_after_scan(struct p2p_data *p2p) argument 1097 struct p2p_data *p2p = eloop_ctx; local 1109 p2p_free_req_dev_types(struct p2p_data *p2p) argument 1117 p2ps_gen_hash(struct p2p_data *p2p, const char *str, u8 *hash) argument 1152 p2p_find(struct p2p_data *p2p, unsigned int timeout, enum p2p_discovery_type type, unsigned int num_req_dev_types, const u8 *req_dev_types, const u8 *dev_id, unsigned int search_delay, u8 seek_count, const char **seek, int freq) argument 1297 p2p_stop_find_for_freq(struct p2p_data *p2p, int freq) argument 1320 p2p_stop_listen_for_freq(struct p2p_data *p2p, int freq) argument 1343 p2p_stop_listen(struct p2p_data *p2p) argument 1355 p2p_stop_find(struct p2p_data *p2p) argument 1362 p2p_prepare_channel_pref(struct p2p_data *p2p, unsigned int force_freq, unsigned int pref_freq, int go) argument 1401 p2p_prepare_channel_best(struct p2p_data *p2p) argument 1494 p2p_prepare_channel(struct p2p_data *p2p, struct p2p_device *dev, unsigned int force_freq, unsigned int pref_freq, int go) argument 1547 p2p_connect(struct p2p_data *p2p, const u8 *peer_addr, enum p2p_wps_method wps_method, int go_intent, const u8 *own_interface_addr, unsigned int force_freq, int persistent_group, const u8 *force_ssid, size_t force_ssid_len, int pd_before_go_neg, unsigned int pref_freq, u16 oob_pw_id) argument 1648 p2p_authorize(struct p2p_data *p2p, const u8 *peer_addr, enum p2p_wps_method wps_method, int go_intent, const u8 *own_interface_addr, unsigned int force_freq, int persistent_group, const u8 *force_ssid, size_t force_ssid_len, unsigned int pref_freq, u16 oob_pw_id) argument 1699 p2p_add_dev_info(struct p2p_data *p2p, const u8 *addr, struct p2p_device *dev, struct p2p_message *msg) argument 1757 p2p_build_ssid(struct p2p_data *p2p, u8 *ssid, size_t *ssid_len) argument 1767 p2p_go_params(struct p2p_data *p2p, struct p2p_go_neg_results *params) argument 1782 p2p_go_complete(struct p2p_data *p2p, struct p2p_device *peer) argument 1847 p2p_rx_p2p_action(struct p2p_data *p2p, const u8 *sa, const u8 *data, size_t len, int rx_freq) argument 1893 p2p_rx_action_public(struct p2p_data *p2p, const u8 *da, const u8 *sa, const u8 *bssid, const u8 *data, size_t len, int freq) argument 1930 p2p_rx_action(struct p2p_data *p2p, const u8 *da, const u8 *sa, const u8 *bssid, u8 category, const u8 *data, size_t len, int freq) argument 1979 struct p2p_data *p2p = eloop_ctx; local 1999 struct p2p_data *p2p = eloop_ctx; local 2012 p2p_add_dev_from_probe_req(struct p2p_data *p2p, const u8 *addr, const u8 *ie, size_t ie_len) argument 2093 p2p_add_dev_from_go_neg_req(struct p2p_data *p2p, const u8 *addr, struct p2p_message *msg) argument 2149 p2p_match_dev_type(struct p2p_data *p2p, struct wpabuf *wps) argument 2176 p2p_build_probe_resp_ies(struct p2p_data *p2p, const u8 *query_hash, u8 query_count) argument 2238 p2p_build_probe_resp_buf(struct p2p_data *p2p, struct wpabuf *buf, struct wpabuf *ies, const u8 *addr, int rx_freq) argument 2291 p2p_service_find_asp(struct p2p_data *p2p, const u8 *hash) argument 2317 p2p_reply_probe(struct p2p_data *p2p, const u8 *addr, const u8 *dst, const u8 *bssid, const u8 *ie, size_t ie_len, unsigned int rx_freq) argument 2485 p2p_probe_req_rx(struct p2p_data *p2p, const u8 *addr, const u8 *dst, const u8 *bssid, const u8 *ie, size_t ie_len, unsigned int rx_freq, int p2p_lo_started) argument 2539 p2p_assoc_req_ie_wlan_ap(struct p2p_data *p2p, const u8 *bssid, u8 *buf, size_t len, struct wpabuf *p2p_ie) argument 2600 p2p_assoc_req_ie(struct p2p_data *p2p, const u8 *bssid, u8 *buf, size_t len, int p2p_group, struct wpabuf *p2p_ie) argument 2679 p2p_service_p2ps_id(struct p2p_data *p2p, u32 adv_id) argument 2697 p2p_service_del_asp(struct p2p_data *p2p, u32 adv_id) argument 2722 p2p_service_add_asp(struct p2p_data *p2p, int auto_accept, u32 adv_id, const char *adv_str, u8 svc_state, u16 config_methods, const char *svc_info, const u8 *cpt_priority) argument 2811 p2p_service_flush_asp(struct p2p_data *p2p) argument 2865 p2p_clear_go_neg(struct p2p_data *p2p) argument 2873 p2p_wps_success_cb(struct p2p_data *p2p, const u8 *mac_addr) argument 2896 p2p_group_formation_failed(struct p2p_data *p2p) argument 2912 struct p2p_data *p2p; local 2974 p2p_deinit(struct p2p_data *p2p) argument 3013 p2p_flush(struct p2p_data *p2p) argument 3033 p2p_unauthorize(struct p2p_data *p2p, const u8 *addr) argument 3057 p2p_set_dev_name(struct p2p_data *p2p, const char *dev_name) argument 3070 p2p_set_manufacturer(struct p2p_data *p2p, const char *manufacturer) argument 3084 p2p_set_model_name(struct p2p_data *p2p, const char *model_name) argument 3098 p2p_set_model_number(struct p2p_data *p2p, const char *model_number) argument 3112 p2p_set_serial_number(struct p2p_data *p2p, const char *serial_number) argument 3126 p2p_set_config_methods(struct p2p_data *p2p, u16 config_methods) argument 3132 p2p_set_uuid(struct p2p_data *p2p, const u8 *uuid) argument 3138 p2p_set_pri_dev_type(struct p2p_data *p2p, const u8 *pri_dev_type) argument 3145 p2p_set_sec_dev_types(struct p2p_data *p2p, const u8 dev_types[][8], size_t num_dev_types) argument 3156 p2p_remove_wps_vendor_extensions(struct p2p_data *p2p) argument 3167 p2p_add_wps_vendor_extension(struct p2p_data *p2p, const struct wpabuf *vendor_ext) argument 3190 p2p_set_country(struct p2p_data *p2p, const char *country) argument 3197 p2p_pre_find_operation(struct p2p_data *p2p, struct p2p_device *dev) argument 3227 p2p_continue_find(struct p2p_data *p2p) argument 3274 p2p_sd_cb(struct p2p_data *p2p, int success) argument 3328 p2p_retry_pd(struct p2p_data *p2p) argument 3356 p2p_prov_disc_cb(struct p2p_data *p2p, int success) argument 3442 p2p_prov_disc_resp_cb(struct p2p_data *p2p, int success) argument 3466 p2p_scan_res_handler(struct p2p_data *p2p, const u8 *bssid, int freq, struct os_reltime *rx_time, int level, const u8 *ies, size_t ies_len) argument 3493 p2p_scan_res_handled(struct p2p_data *p2p) argument 3508 p2p_scan_ie(struct p2p_data *p2p, struct wpabuf *ies, const u8 *dev_id, unsigned int bands) argument 3554 p2p_scan_ie_buf_len(struct p2p_data *p2p) argument 3577 p2p_go_neg_req_cb(struct p2p_data *p2p, int success) argument 3632 p2p_go_neg_resp_cb(struct p2p_data *p2p, int success) argument 3645 p2p_go_neg_resp_failure_cb(struct p2p_data *p2p, int success, const u8 *addr) argument 3667 p2p_go_neg_conf_cb(struct p2p_data *p2p, enum p2p_send_action_result result) argument 3732 p2p_send_action_cb(struct p2p_data *p2p, unsigned int freq, const u8 *dst, const u8 *src, const u8 *bssid, enum p2p_send_action_result result) argument 3793 p2p_listen_cb(struct p2p_data *p2p, unsigned int freq, unsigned int duration) argument 3827 p2p_listen_end(struct p2p_data *p2p, unsigned int freq) argument 3895 p2p_timeout_connect(struct p2p_data *p2p) argument 3922 p2p_timeout_connect_listen(struct p2p_data *p2p) argument 3943 p2p_timeout_wait_peer_connect(struct p2p_data *p2p) argument 3955 p2p_timeout_wait_peer_idle(struct p2p_data *p2p) argument 3970 p2p_timeout_sd_during_find(struct p2p_data *p2p) argument 3981 p2p_timeout_prov_disc_during_find(struct p2p_data *p2p) argument 3989 p2p_timeout_prov_disc_req(struct p2p_data *p2p) argument 4039 p2p_timeout_invite(struct p2p_data *p2p) argument 4056 p2p_timeout_invite_listen(struct p2p_data *p2p) argument 4078 struct p2p_data *p2p = eloop_ctx; local 4152 p2p_reject(struct p2p_data *p2p, const u8 *peer_addr) argument 4205 p2p_get_peer_info(struct p2p_data *p2p, const u8 *addr, int next) argument 4355 p2p_peer_known(struct p2p_data *p2p, const u8 *addr) argument 4361 p2p_set_client_discoverability(struct p2p_data *p2p, int enabled) argument 4409 p2p_presence_req(struct p2p_data *p2p, const u8 *go_interface_addr, const u8 *own_interface_addr, unsigned int freq, u32 duration1, u32 interval1, u32 duration2, u32 interval2) argument 4464 p2p_process_presence_req(struct p2p_data *p2p, const u8 *da, const u8 *sa, const u8 *data, size_t len, int rx_freq) argument 4530 p2p_process_presence_resp(struct p2p_data *p2p, const u8 *da, const u8 *sa, const u8 *data, size_t len) argument 4570 struct p2p_data *p2p = eloop_ctx; local 4614 p2p_ext_listen(struct p2p_data *p2p, unsigned int period, unsigned int interval) argument 4648 p2p_deauth_notif(struct p2p_data *p2p, const u8 *bssid, u16 reason_code, const u8 *ie, size_t ie_len) argument 4672 p2p_disassoc_notif(struct p2p_data *p2p, const u8 *bssid, u16 reason_code, const u8 *ie, size_t ie_len) argument 4696 p2p_set_managed_oper(struct p2p_data *p2p, int enabled) argument 4708 p2p_config_get_random_social(struct p2p_config *p2p, u8 *op_class, u8 *op_channel, struct wpa_freq_range_list *avoid_list, struct wpa_freq_range_list *disallow_list) argument 4718 p2p_set_listen_channel(struct p2p_data *p2p, u8 reg_class, u8 channel, u8 forced) argument 4752 p2p_get_listen_channel(struct p2p_data *p2p) argument 4758 p2p_set_ssid_postfix(struct p2p_data *p2p, const u8 *postfix, size_t len) argument 4773 p2p_set_oper_channel(struct p2p_data *p2p, u8 op_reg_class, u8 op_channel, int cfg_op_channel) argument 4788 p2p_set_pref_chan(struct p2p_data *p2p, unsigned int num_pref_chan, const struct p2p_channel *pref_chan) argument 4809 p2p_set_no_go_freq(struct p2p_data *p2p, const struct wpa_freq_range_list *list) argument 4834 p2p_get_interface_addr(struct p2p_data *p2p, const u8 *dev_addr, u8 *iface_addr) argument 4845 p2p_get_dev_addr(struct p2p_data *p2p, const u8 *iface_addr, u8 *dev_addr) argument 4856 p2p_set_peer_filter(struct p2p_data *p2p, const u8 *addr) argument 4867 p2p_set_cross_connect(struct p2p_data *p2p, int enabled) argument 4877 p2p_get_oper_freq(struct p2p_data *p2p, const u8 *iface_addr) argument 4888 p2p_set_intra_bss_dist(struct p2p_data *p2p, int enabled) argument 4896 p2p_update_channel_list(struct p2p_data *p2p, const struct p2p_channels *chan, const struct p2p_channels *cli_chan) argument 4909 p2p_send_action(struct p2p_data *p2p, unsigned int freq, const u8 *dst, const u8 *src, const u8 *bssid, const u8 *buf, size_t len, unsigned int wait_time) argument 4928 p2p_set_best_channels(struct p2p_data *p2p, int freq_24, int freq_5, int freq_overall) argument 4939 p2p_set_own_freq_preference(struct p2p_data *p2p, int freq) argument 4946 p2p_get_go_neg_peer(struct p2p_data *p2p) argument 4955 p2p_get_peer_found(struct p2p_data *p2p, const u8 *addr, int next) argument 4995 p2p_in_progress(struct p2p_data *p2p) argument 5005 p2p_set_config_timeout(struct p2p_data *p2p, u8 go_timeout, u8 client_timeout) argument 5017 p2p_update_wfd_ie_groups(struct p2p_data *p2p) argument 5029 p2p_set_wfd_ie_beacon(struct p2p_data *p2p, struct wpabuf *ie) argument 5038 p2p_set_wfd_ie_probe_req(struct p2p_data *p2p, struct wpabuf *ie) argument 5046 p2p_set_wfd_ie_probe_resp(struct p2p_data *p2p, struct wpabuf *ie) argument 5055 p2p_set_wfd_ie_assoc_req(struct p2p_data *p2p, struct wpabuf *ie) argument 5063 p2p_set_wfd_ie_invitation(struct p2p_data *p2p, struct wpabuf *ie) argument 5071 p2p_set_wfd_ie_prov_disc_req(struct p2p_data *p2p, struct wpabuf *ie) argument 5079 p2p_set_wfd_ie_prov_disc_resp(struct p2p_data *p2p, struct wpabuf *ie) argument 5087 p2p_set_wfd_ie_go_neg(struct p2p_data *p2p, struct wpabuf *ie) argument 5095 p2p_set_wfd_dev_info(struct p2p_data *p2p, const struct wpabuf *elem) argument 5109 p2p_set_wfd_r2_dev_info(struct p2p_data *p2p, const struct wpabuf *elem) argument 5123 p2p_set_wfd_assoc_bssid(struct p2p_data *p2p, const struct wpabuf *elem) argument 5137 p2p_set_wfd_coupled_sink_info(struct p2p_data *p2p, const struct wpabuf *elem) argument 5154 p2p_set_disc_int(struct p2p_data *p2p, int min_disc_int, int max_disc_int, int max_disc_tu) argument 5170 p2p_dbg(struct p2p_data *p2p, const char *fmt, ...) argument 5186 p2p_info(struct p2p_data *p2p, const char *fmt, ...) argument 5202 p2p_err(struct p2p_data *p2p, const char *fmt, ...) argument 5218 p2p_loop_on_known_peers(struct p2p_data *p2p, void (*peer_callback)(struct p2p_peer_info *peer, void *user_data), void *user_data) argument 5233 p2p_build_nfc_handover(struct p2p_data *p2p, int client_freq, const u8 *go_dev_addr, const u8 *ssid, size_t ssid_len) argument 5295 p2p_build_nfc_handover_req(struct p2p_data *p2p, int client_freq, const u8 *go_dev_addr, const u8 *ssid, size_t ssid_len) argument 5305 p2p_build_nfc_handover_sel(struct p2p_data *p2p, int client_freq, const u8 *go_dev_addr, const u8 *ssid, size_t ssid_len) argument 5315 p2p_process_nfc_connection_handover(struct p2p_data *p2p, struct p2p_nfc_params *params) argument 5441 p2p_set_authorized_oob_dev_pw_id(struct p2p_data *p2p, u16 dev_pw_id, int go_intent, const u8 *own_interface_addr) argument 5462 p2p_set_passphrase_len(struct p2p_data *p2p, unsigned int len) argument 5471 p2p_set_vendor_elems(struct p2p_data *p2p, struct wpabuf **vendor_elem) argument 5479 struct p2p_data *p2p = eloop_ctx; local 5487 p2p_set_own_pref_freq_list(struct p2p_data *p2p, const unsigned int *pref_freq_list, unsigned int size) argument 5504 p2p_set_override_pref_op_chan(struct p2p_data *p2p, u8 op_class, u8 chan) argument 5512 p2p_build_probe_resp_template(struct p2p_data *p2p, unsigned int freq) argument [all...] |