Lines Matching refs:anqp

50 	struct wpa_bss_anqp *anqp;  in wpa_bss_anqp_alloc()  local
51 anqp = os_zalloc(sizeof(*anqp)); in wpa_bss_anqp_alloc()
52 if (anqp == NULL) in wpa_bss_anqp_alloc()
55 dl_list_init(&anqp->anqp_elems); in wpa_bss_anqp_alloc()
57 anqp->users = 1; in wpa_bss_anqp_alloc()
58 return anqp; in wpa_bss_anqp_alloc()
67 static struct wpa_bss_anqp * wpa_bss_anqp_clone(struct wpa_bss_anqp *anqp) in wpa_bss_anqp_clone() argument
75 #define ANQP_DUP(f) if (anqp->f) n->f = wpabuf_dup(anqp->f) in wpa_bss_anqp_clone()
114 struct wpa_bss_anqp *anqp; in wpa_bss_anqp_unshare_alloc() local
116 if (bss->anqp && bss->anqp->users > 1) { in wpa_bss_anqp_unshare_alloc()
118 anqp = wpa_bss_anqp_clone(bss->anqp); in wpa_bss_anqp_unshare_alloc()
119 if (anqp == NULL) in wpa_bss_anqp_unshare_alloc()
121 anqp->users = 1; in wpa_bss_anqp_unshare_alloc()
122 bss->anqp->users--; in wpa_bss_anqp_unshare_alloc()
123 bss->anqp = anqp; in wpa_bss_anqp_unshare_alloc()
127 if (bss->anqp) in wpa_bss_anqp_unshare_alloc()
131 bss->anqp = wpa_bss_anqp_alloc(); in wpa_bss_anqp_unshare_alloc()
132 return bss->anqp ? 0 : -1; in wpa_bss_anqp_unshare_alloc()
140 static void wpa_bss_anqp_free(struct wpa_bss_anqp *anqp) in wpa_bss_anqp_free() argument
146 if (anqp == NULL) in wpa_bss_anqp_free()
149 anqp->users--; in wpa_bss_anqp_free()
150 if (anqp->users > 0) { in wpa_bss_anqp_free()
156 wpabuf_free(anqp->capability_list); in wpa_bss_anqp_free()
157 wpabuf_free(anqp->venue_name); in wpa_bss_anqp_free()
158 wpabuf_free(anqp->network_auth_type); in wpa_bss_anqp_free()
159 wpabuf_free(anqp->roaming_consortium); in wpa_bss_anqp_free()
160 wpabuf_free(anqp->ip_addr_type_availability); in wpa_bss_anqp_free()
161 wpabuf_free(anqp->nai_realm); in wpa_bss_anqp_free()
162 wpabuf_free(anqp->anqp_3gpp); in wpa_bss_anqp_free()
163 wpabuf_free(anqp->domain_name); in wpa_bss_anqp_free()
164 wpabuf_free(anqp->fils_realm_info); in wpa_bss_anqp_free()
166 while ((elem = dl_list_first(&anqp->anqp_elems, in wpa_bss_anqp_free()
174 wpabuf_free(anqp->hs20_capability_list); in wpa_bss_anqp_free()
175 wpabuf_free(anqp->hs20_operator_friendly_name); in wpa_bss_anqp_free()
176 wpabuf_free(anqp->hs20_wan_metrics); in wpa_bss_anqp_free()
177 wpabuf_free(anqp->hs20_connection_capability); in wpa_bss_anqp_free()
178 wpabuf_free(anqp->hs20_operating_class); in wpa_bss_anqp_free()
179 wpabuf_free(anqp->hs20_osu_providers_list); in wpa_bss_anqp_free()
180 wpabuf_free(anqp->hs20_operator_icon_metadata); in wpa_bss_anqp_free()
181 wpabuf_free(anqp->hs20_osu_providers_nai_list); in wpa_bss_anqp_free()
184 os_free(anqp); in wpa_bss_anqp_free()
247 wpa_bss_anqp_free(bss->anqp); in wpa_bss_remove()