H A D | p2p.c | 18 #include "p2p.h" 22 static void p2p_device_free(struct p2p_data *p2p, struct p2p_device *dev); 23 static void p2p_process_presence_req(struct p2p_data *p2p, const u8 *da, 26 static void p2p_process_presence_resp(struct p2p_data *p2p, const u8 *da, 49 static void p2p_expire_peers(struct p2p_data *p2p) argument 56 dl_list_for_each_safe(dev, n, &p2p->devices, struct p2p_device, list) { 60 if (p2p->cfg->go_connected && 61 p2p->cfg->go_connected(p2p->cfg->cb_ctx, 71 for (i = 0; i < p2p 95 struct p2p_data *p2p = eloop_ctx; local 141 p2p_get_provisioning_info(struct p2p_data *p2p, const u8 *addr) argument 156 p2p_clear_provisioning_info(struct p2p_data *p2p, const u8 *addr) argument 169 p2p_set_state(struct p2p_data *p2p, int new_state) argument 177 p2p_set_timeout(struct p2p_data *p2p, unsigned int sec, unsigned int usec) argument 187 p2p_clear_timeout(struct p2p_data *p2p) argument 195 p2p_go_neg_failed(struct p2p_data *p2p, struct p2p_device *peer, int status) argument 217 p2p_listen_in_find(struct p2p_data *p2p, int dev_disc) argument 270 p2p_listen(struct p2p_data *p2p, unsigned int timeout) argument 322 p2p_device_clear_reported(struct p2p_data *p2p) argument 336 p2p_get_device(struct p2p_data *p2p, const u8 *addr) argument 353 p2p_get_device_interface(struct p2p_data *p2p, const u8 *addr) argument 374 p2p_create_device(struct p2p_data *p2p, const u8 *addr) argument 422 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) argument 597 p2p_add_device(struct p2p_data *p2p, const u8 *addr, int freq, unsigned int age_ms, int level, const u8 *ies, size_t ies_len, int scan_res) argument 751 p2p_device_free(struct p2p_data *p2p, struct p2p_device *dev) argument 785 p2p_get_next_prog_freq(struct p2p_data *p2p) argument 840 p2p_search(struct p2p_data *p2p) argument 889 struct p2p_data *p2p = eloop_ctx; local 895 p2p_run_after_scan(struct p2p_data *p2p) argument 949 struct p2p_data *p2p = eloop_ctx; local 962 p2p_free_req_dev_types(struct p2p_data *p2p) argument 970 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) argument 1056 p2p_other_scan_completed(struct p2p_data *p2p) argument 1075 p2p_stop_find_for_freq(struct p2p_data *p2p, int freq) argument 1092 p2p_stop_listen_for_freq(struct p2p_data *p2p, int freq) argument 1117 p2p_stop_find(struct p2p_data *p2p) argument 1123 p2p_prepare_channel_pref(struct p2p_data *p2p, unsigned int force_freq, unsigned int pref_freq) argument 1161 p2p_prepare_channel_best(struct p2p_data *p2p) argument 1212 p2p_prepare_channel(struct p2p_data *p2p, struct p2p_device *dev, unsigned int force_freq, unsigned int pref_freq) argument 1256 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) argument 1363 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) argument 1414 p2p_add_dev_info(struct p2p_data *p2p, const u8 *addr, struct p2p_device *dev, struct p2p_message *msg) argument 1478 p2p_build_ssid(struct p2p_data *p2p, u8 *ssid, size_t *ssid_len) argument 1488 p2p_go_params(struct p2p_data *p2p, struct p2p_go_neg_results *params) argument 1496 p2p_go_complete(struct p2p_data *p2p, struct p2p_device *peer) argument 1568 p2p_rx_p2p_action(struct p2p_data *p2p, const u8 *sa, const u8 *data, size_t len, int rx_freq) argument 1616 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 1658 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 1715 struct p2p_data *p2p = eloop_ctx; local 1726 struct p2p_data *p2p = eloop_ctx; local 1734 p2p_add_dev_from_probe_req(struct p2p_data *p2p, const u8 *addr, const u8 *ie, size_t ie_len) argument 1802 p2p_add_dev_from_go_neg_req(struct p2p_data *p2p, const u8 *addr, struct p2p_message *msg) argument 1858 p2p_match_dev_type(struct p2p_data *p2p, struct wpabuf *wps) argument 1884 p2p_build_probe_resp_ies(struct p2p_data *p2p) argument 1960 p2p_reply_probe(struct p2p_data *p2p, const u8 *addr, const u8 *dst, const u8 *bssid, const u8 *ie, size_t ie_len) argument 2101 p2p_probe_req_rx(struct p2p_data *p2p, const u8 *addr, const u8 *dst, const u8 *bssid, const u8 *ie, size_t ie_len) argument 2138 p2p_assoc_req_ie_wlan_ap(struct p2p_data *p2p, const u8 *bssid, u8 *buf, size_t len, struct wpabuf *p2p_ie) argument 2188 p2p_assoc_req_ie(struct p2p_data *p2p, const u8 *bssid, u8 *buf, size_t len, int p2p_group, struct wpabuf *p2p_ie) argument 2293 p2p_clear_go_neg(struct p2p_data *p2p) argument 2301 p2p_wps_success_cb(struct p2p_data *p2p, const u8 *mac_addr) argument 2328 p2p_group_formation_failed(struct p2p_data *p2p) argument 2347 struct p2p_data *p2p; local 2403 p2p_deinit(struct p2p_data *p2p) argument 2438 p2p_flush(struct p2p_data *p2p) argument 2453 p2p_unauthorize(struct p2p_data *p2p, const u8 *addr) argument 2482 p2p_set_dev_name(struct p2p_data *p2p, const char *dev_name) argument 2495 p2p_set_manufacturer(struct p2p_data *p2p, const char *manufacturer) argument 2509 p2p_set_model_name(struct p2p_data *p2p, const char *model_name) argument 2523 p2p_set_model_number(struct p2p_data *p2p, const char *model_number) argument 2537 p2p_set_serial_number(struct p2p_data *p2p, const char *serial_number) argument 2551 p2p_set_config_methods(struct p2p_data *p2p, u16 config_methods) argument 2557 p2p_set_uuid(struct p2p_data *p2p, const u8 *uuid) argument 2563 p2p_set_pri_dev_type(struct p2p_data *p2p, const u8 *pri_dev_type) argument 2570 p2p_set_sec_dev_types(struct p2p_data *p2p, const u8 dev_types[][8], size_t num_dev_types) argument 2581 p2p_remove_wps_vendor_extensions(struct p2p_data *p2p) argument 2592 p2p_add_wps_vendor_extension(struct p2p_data *p2p, const struct wpabuf *vendor_ext) argument 2615 p2p_set_country(struct p2p_data *p2p, const char *country) argument 2622 p2p_continue_find(struct p2p_data *p2p) argument 2648 p2p_sd_cb(struct p2p_data *p2p, int success) argument 2681 p2p_retry_pd(struct p2p_data *p2p) argument 2712 p2p_prov_disc_cb(struct p2p_data *p2p, int success) argument 2762 p2p_scan_res_handler(struct p2p_data *p2p, const u8 *bssid, int freq, unsigned int age, int level, const u8 *ies, size_t ies_len) argument 2772 p2p_scan_res_handled(struct p2p_data *p2p) argument 2788 p2p_scan_ie(struct p2p_data *p2p, struct wpabuf *ies, const u8 *dev_id) argument 2814 p2p_scan_ie_buf_len(struct p2p_data *p2p) argument 2833 p2p_go_neg_req_cb(struct p2p_data *p2p, int success) argument 2878 p2p_go_neg_resp_cb(struct p2p_data *p2p, int success) argument 2894 p2p_go_neg_resp_failure_cb(struct p2p_data *p2p, int success) argument 2906 p2p_go_neg_conf_cb(struct p2p_data *p2p, enum p2p_send_action_result result) argument 2944 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 2999 p2p_listen_cb(struct p2p_data *p2p, unsigned int freq, unsigned int duration) argument 3038 p2p_listen_end(struct p2p_data *p2p, unsigned int freq) argument 3101 p2p_timeout_connect(struct p2p_data *p2p) argument 3117 p2p_timeout_connect_listen(struct p2p_data *p2p) argument 3142 p2p_timeout_wait_peer_connect(struct p2p_data *p2p) argument 3154 p2p_timeout_wait_peer_idle(struct p2p_data *p2p) argument 3181 p2p_timeout_sd_during_find(struct p2p_data *p2p) argument 3194 p2p_timeout_prov_disc_during_find(struct p2p_data *p2p) argument 3203 p2p_timeout_prov_disc_req(struct p2p_data *p2p) argument 3245 p2p_timeout_invite(struct p2p_data *p2p) argument 3263 p2p_timeout_invite_listen(struct p2p_data *p2p) argument 3284 struct p2p_data *p2p = eloop_ctx; local 3362 p2p_reject(struct p2p_data *p2p, const u8 *peer_addr) argument 3412 p2p_get_peer_info(struct p2p_data *p2p, const u8 *addr, int next) argument 3563 p2p_peer_known(struct p2p_data *p2p, const u8 *addr) argument 3569 p2p_set_client_discoverability(struct p2p_data *p2p, int enabled) argument 3619 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 3675 p2p_process_presence_req(struct p2p_data *p2p, const u8 *da, const u8 *sa, const u8 *data, size_t len, int rx_freq) argument 3746 p2p_process_presence_resp(struct p2p_data *p2p, const u8 *da, const u8 *sa, const u8 *data, size_t len) argument 3787 struct p2p_data *p2p = eloop_ctx; local 3827 p2p_ext_listen(struct p2p_data *p2p, unsigned int period, unsigned int interval) argument 3864 p2p_deauth_notif(struct p2p_data *p2p, const u8 *bssid, u16 reason_code, const u8 *ie, size_t ie_len) argument 3887 p2p_disassoc_notif(struct p2p_data *p2p, const u8 *bssid, u16 reason_code, const u8 *ie, size_t ie_len) argument 3910 p2p_set_managed_oper(struct p2p_data *p2p, int enabled) argument 3924 p2p_set_listen_channel(struct p2p_data *p2p, u8 reg_class, u8 channel) argument 3938 p2p_set_ssid_postfix(struct p2p_data *p2p, const u8 *postfix, size_t len) argument 3953 p2p_set_oper_channel(struct p2p_data *p2p, u8 op_reg_class, u8 op_channel, int cfg_op_channel) argument 3969 p2p_set_pref_chan(struct p2p_data *p2p, unsigned int num_pref_chan, const struct p2p_channel *pref_chan) argument 3991 p2p_get_interface_addr(struct p2p_data *p2p, const u8 *dev_addr, u8 *iface_addr) argument 4002 p2p_get_dev_addr(struct p2p_data *p2p, const u8 *iface_addr, u8 *dev_addr) argument 4013 p2p_set_peer_filter(struct p2p_data *p2p, const u8 *addr) argument 4025 p2p_set_cross_connect(struct p2p_data *p2p, int enabled) argument 4036 p2p_get_oper_freq(struct p2p_data *p2p, const u8 *iface_addr) argument 4047 p2p_set_intra_bss_dist(struct p2p_data *p2p, int enabled) argument 4055 p2p_update_channel_list(struct p2p_data *p2p, struct p2p_channels *chan) argument 4062 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 4093 p2p_set_best_channels(struct p2p_data *p2p, int freq_24, int freq_5, int freq_overall) argument 4104 p2p_get_go_neg_peer(struct p2p_data *p2p) argument 4113 p2p_get_peer_found(struct p2p_data *p2p, const u8 *addr, int next) argument 4153 p2p_in_progress(struct p2p_data *p2p) argument 4164 p2p_set_config_timeout(struct p2p_data *p2p, u8 go_timeout, u8 client_timeout) argument 4174 p2p_increase_search_delay(struct p2p_data *p2p, unsigned int delay) argument 4183 p2p_update_wfd_ie_groups(struct p2p_data *p2p) argument 4195 p2p_set_wfd_ie_beacon(struct p2p_data *p2p, struct wpabuf *ie) argument 4204 p2p_set_wfd_ie_probe_req(struct p2p_data *p2p, struct wpabuf *ie) argument 4212 p2p_set_wfd_ie_probe_resp(struct p2p_data *p2p, struct wpabuf *ie) argument 4221 p2p_set_wfd_ie_assoc_req(struct p2p_data *p2p, struct wpabuf *ie) argument 4229 p2p_set_wfd_ie_invitation(struct p2p_data *p2p, struct wpabuf *ie) argument 4237 p2p_set_wfd_ie_prov_disc_req(struct p2p_data *p2p, struct wpabuf *ie) argument 4245 p2p_set_wfd_ie_prov_disc_resp(struct p2p_data *p2p, struct wpabuf *ie) argument 4253 p2p_set_wfd_ie_go_neg(struct p2p_data *p2p, struct wpabuf *ie) argument 4261 p2p_set_wfd_dev_info(struct p2p_data *p2p, const struct wpabuf *elem) argument 4275 p2p_set_wfd_assoc_bssid(struct p2p_data *p2p, const struct wpabuf *elem) argument 4289 p2p_set_wfd_coupled_sink_info(struct p2p_data *p2p, const struct wpabuf *elem) argument 4306 p2p_set_disc_int(struct p2p_data *p2p, int min_disc_int, int max_disc_int, int max_disc_tu) argument [all...] |