/hal_espressif-latest/components/wpa_supplicant/src/eap_server/ |
D | eap_server_wsc.c | 53 static void eap_wsc_state(struct eap_wsc_data *data, int state) in eap_wsc_state() argument 56 eap_wsc_state_txt(data->state), in eap_wsc_state() 58 data->state = state; in eap_wsc_state() 64 struct eap_wsc_data *data; in eap_wsc_init() local 81 data = os_zalloc(sizeof(*data)); in eap_wsc_init() 82 if (data == NULL) in eap_wsc_init() 84 data->state = registrar ? START : MESG; in eap_wsc_init() 85 data->registrar = registrar; in eap_wsc_init() 88 data->wps = wps_sm->wps; in eap_wsc_init() 89 if (data->wps == NULL) { in eap_wsc_init() [all …]
|
D | eap_server_identity.c | 23 struct eap_identity_data *data; in eap_identity_init() local 25 data = os_zalloc(sizeof(*data)); in eap_identity_init() 26 if (data == NULL) in eap_identity_init() 28 data->state = CONTINUE; in eap_identity_init() 30 return data; in eap_identity_init() 36 struct eap_identity_data *data; in eap_identity_initPickUp() local 37 data = eap_identity_init(sm); in eap_identity_initPickUp() 38 if (data) { in eap_identity_initPickUp() 39 data->pick_up = 1; in eap_identity_initPickUp() 41 return data; in eap_identity_initPickUp() [all …]
|
/hal_espressif-latest/components/wpa_supplicant/src/eap_peer/ |
D | eap_peap.c | 74 eap_peap_parse_phase1(struct eap_peap_data *data, in eap_peap_parse_phase1() argument 81 data->force_peap_version = atoi(pos + 8); in eap_peap_parse_phase1() 82 data->peap_version = data->force_peap_version; in eap_peap_parse_phase1() 84 data->force_peap_version); in eap_peap_parse_phase1() 88 data->force_new_label = 1; in eap_peap_parse_phase1() 94 data->peap_outer_success = 0; in eap_peap_parse_phase1() 98 data->peap_outer_success = 1; in eap_peap_parse_phase1() 102 data->peap_outer_success = 2; in eap_peap_parse_phase1() 108 data->crypto_binding = NO_BINDING; in eap_peap_parse_phase1() 111 data->crypto_binding = OPTIONAL_BINDING; in eap_peap_parse_phase1() [all …]
|
D | eap_fast.c | 78 struct eap_fast_data *data = ctx; in eap_fast_session_ticket_cb() local 86 data->session_ticket_used = 0; in eap_fast_session_ticket_cb() 87 if (data->provisioning_allowed) { in eap_fast_session_ticket_cb() 90 data->provisioning = 1; in eap_fast_session_ticket_cb() 91 data->current_pac = NULL; in eap_fast_session_ticket_cb() 98 if (data->current_pac == NULL) { in eap_fast_session_ticket_cb() 101 data->session_ticket_used = 0; in eap_fast_session_ticket_cb() 105 eap_fast_derive_master_secret(data->current_pac->pac_key, in eap_fast_session_ticket_cb() 109 data->session_ticket_used = 1; in eap_fast_session_ticket_cb() 115 static void eap_fast_parse_phase1(struct eap_fast_data *data, in eap_fast_parse_phase1() argument [all …]
|
D | eap_tls_common.c | 32 const u8 **data, size_t *data_len) in eap_tls_check_blob() argument 47 *data = blob->data; in eap_tls_check_blob() 95 struct eap_ssl_data *data, in eap_tls_params_from_conf() argument 100 if (sm->workaround && data->eap_type != EAP_TYPE_FAST) { in eap_tls_params_from_conf() 115 if (data->eap_type == EAP_TYPE_FAST) { in eap_tls_params_from_conf() 137 data->client_cert_conf = params->client_cert || in eap_tls_params_from_conf() 147 struct eap_ssl_data *data, in eap_tls_init_connection() argument 157 data->conn = tls_connection_init(data->ssl_ctx); in eap_tls_init_connection() 158 if (data->conn == NULL) { in eap_tls_init_connection() 164 res = tls_connection_set_params(data->ssl_ctx, data->conn, params); in eap_tls_init_connection() [all …]
|
D | eap_tls.c | 35 struct eap_tls_data *data; in eap_tls_init() local 44 data = (struct eap_tls_data *)os_zalloc(sizeof(*data)); in eap_tls_init() 45 if (data == NULL) in eap_tls_init() 48 data->ssl_ctx = sm->ssl_ctx; in eap_tls_init() 50 if (eap_peer_tls_ssl_init(sm, &data->ssl, config, EAP_TYPE_TLS)) { in eap_tls_init() 52 eap_tls_deinit(sm, data); in eap_tls_init() 56 data->eap_type = EAP_TYPE_TLS; in eap_tls_init() 58 return data; in eap_tls_init() 64 struct eap_tls_data *data = priv; in eap_tls_deinit() local 65 if (data == NULL) in eap_tls_deinit() [all …]
|
D | eap_ttls.c | 72 struct eap_ttls_data *data; in eap_ttls_init() local 75 data = (struct eap_ttls_data *)os_zalloc(sizeof(*data)); in eap_ttls_init() 76 if (data == NULL) in eap_ttls_init() 78 data->ttls_version = EAP_TTLS_VERSION; in eap_ttls_init() 79 data->phase2_type = EAP_TTLS_PHASE2_EAP; in eap_ttls_init() 83 data->phase2_type = EAP_TTLS_PHASE2_EAP; in eap_ttls_init() 85 data->phase2_type = EAP_TTLS_PHASE2_MSCHAPV2; in eap_ttls_init() 87 data->phase2_type = EAP_TTLS_PHASE2_MSCHAP; in eap_ttls_init() 89 data->phase2_type = EAP_TTLS_PHASE2_PAP; in eap_ttls_init() 91 data->phase2_type = EAP_TTLS_PHASE2_CHAP; in eap_ttls_init() [all …]
|
D | eap_mschapv2.c | 85 struct eap_mschapv2_data *data = priv; in eap_mschapv2_deinit() local 87 os_free(data->peer_challenge); in eap_mschapv2_deinit() 88 os_free(data->auth_challenge); in eap_mschapv2_deinit() 89 wpabuf_free(data->prev_challenge); in eap_mschapv2_deinit() 90 os_free(data); in eap_mschapv2_deinit() 96 struct eap_mschapv2_data *data; in eap_mschapv2_init() local 102 data = (struct eap_mschapv2_data *)os_zalloc(sizeof(*data)); in eap_mschapv2_init() 103 if (data == NULL) in eap_mschapv2_init() 107 data->peer_challenge = os_memdup(sm->peer_challenge, in eap_mschapv2_init() 109 if (data->peer_challenge == NULL) { in eap_mschapv2_init() [all …]
|
D | eap_tls_common.h | 97 int eap_peer_tls_ssl_init(struct eap_sm *sm, struct eap_ssl_data *data, 99 void eap_peer_tls_ssl_deinit(struct eap_sm *sm, struct eap_ssl_data *data); 100 u8 * eap_peer_tls_derive_key(struct eap_sm *sm, struct eap_ssl_data *data, 103 struct eap_ssl_data *data, u8 eap_type, 105 int eap_peer_tls_process_helper(struct eap_sm *sm, struct eap_ssl_data *data, 111 int eap_peer_tls_reauth_init(struct eap_sm *sm, struct eap_ssl_data *data); 112 int eap_peer_tls_status(struct eap_sm *sm, struct eap_ssl_data *data, 115 struct eap_ssl_data *data, 120 void eap_peer_tls_reset_input(struct eap_ssl_data *data); 121 void eap_peer_tls_reset_output(struct eap_ssl_data *data); [all …]
|
/hal_espressif-latest/components/wpa_supplicant/src/utils/ |
D | ext_password.c | 36 struct ext_password_data *data; in ext_password_init() local 39 data = (struct ext_password_data *)os_zalloc(sizeof(*data)); in ext_password_init() 40 if (data == NULL) in ext_password_init() 45 data->backend = backends[i]; in ext_password_init() 50 if (!data->backend) { in ext_password_init() 51 os_free(data); in ext_password_init() 55 data->priv = data->backend->init(params); in ext_password_init() 56 if (data->priv == NULL) { in ext_password_init() 57 os_free(data); in ext_password_init() 61 return data; in ext_password_init() [all …]
|
/hal_espressif-latest/components/esp_system/ |
D | ubsan.c | 172 struct type_mismatch_data *data = data_; in __ubsan_handle_type_mismatch() local 174 __ubsan_default_handler(&data->loc, __func__); in __ubsan_handle_type_mismatch() 180 struct type_mismatch_data_v1 *data = data_; in __ubsan_handle_type_mismatch_v1() local 182 __ubsan_default_handler(&data->loc, __func__); in __ubsan_handle_type_mismatch_v1() 189 struct overflow_data *data = data_; in __ubsan_handle_add_overflow() local 191 __ubsan_default_handler(&data->loc, __func__); in __ubsan_handle_add_overflow() 198 struct overflow_data *data = data_; in __ubsan_handle_sub_overflow() local 200 __ubsan_default_handler(&data->loc, __func__); in __ubsan_handle_sub_overflow() 207 struct overflow_data *data = data_; in __ubsan_handle_mul_overflow() local 209 __ubsan_default_handler(&data->loc, __func__); in __ubsan_handle_mul_overflow() [all …]
|
/hal_espressif-latest/components/wpa_supplicant/src/wps/ |
D | wps.c | 41 struct wps_data *data = os_zalloc(sizeof(*data)); in wps_init() local 42 if (data == NULL) in wps_init() 44 data->wps = cfg->wps; in wps_init() 45 data->registrar = cfg->registrar; in wps_init() 47 os_memcpy(data->uuid_r, cfg->wps->uuid, WPS_UUID_LEN); in wps_init() 49 os_memcpy(data->mac_addr_e, cfg->wps->dev.mac_addr, ETH_ALEN); in wps_init() 50 os_memcpy(data->uuid_e, cfg->wps->uuid, WPS_UUID_LEN); in wps_init() 53 data->dev_pw_id = cfg->dev_pw_id; in wps_init() 54 data->dev_password = os_memdup(cfg->pin, cfg->pin_len); in wps_init() 55 if (data->dev_password == NULL) { in wps_init() [all …]
|
/hal_espressif-latest/components/bt/host/nimble/esp-hci/src/ |
D | esp_nimble_hci.c | 66 void esp_vhci_host_send_packet_wrapper(uint8_t *data, uint16_t len) in esp_vhci_host_send_packet_wrapper() argument 69 bt_hci_log_record_hci_data(data[0], &data[1], len - 1); in esp_vhci_host_send_packet_wrapper() 71 esp_vhci_host_send_packet(data, len); in esp_vhci_host_send_packet_wrapper() 107 uint8_t data[MYNEWT_VAL(BLE_TRANSPORT_ACL_SIZE) + 1], rc = 0; in ble_hci_trans_hs_acl_tx() local 113 data[0] = BLE_HCI_UART_H4_ACL; in ble_hci_trans_hs_acl_tx() 120 os_mbuf_copydata(om, 0, OS_MBUF_PKTLEN(om), &data[1]); in ble_hci_trans_hs_acl_tx() 124 esp_vhci_host_send_packet_wrapper(data, len); in ble_hci_trans_hs_acl_tx() 153 static void ble_hci_rx_acl(uint8_t *data, uint16_t len) in ble_hci_rx_acl() argument 172 if ((rc = os_mbuf_append(m, data, len)) != 0) { in ble_hci_rx_acl() 198 void bt_record_hci_data(uint8_t *data, uint16_t len) in bt_record_hci_data() argument [all …]
|
/hal_espressif-latest/components/bt/common/osi/ |
D | list.c | 9 void *data; member 57 bool list_contains(const list_t *list, const void *data) in list_contains() argument 60 assert(data != NULL); in list_contains() 63 if (list_node(node) == data) { in list_contains() 71 list_node_t *list_get_node(const list_t *list, const void *data) in list_get_node() argument 74 assert(data != NULL); in list_get_node() 77 if (list_node(node) == data) { in list_get_node() 97 return list->head->data; in list_front() 104 return list->tail->data; in list_back() 114 bool list_insert_after(list_t *list, list_node_t *prev_node, void *data) { in list_insert_after() argument [all …]
|
/hal_espressif-latest/components/esp_hw_support/ |
D | esp_ds.c | 53 const ets_ds_data_t *data; member 97 const esp_ds_data_t *data, in esp_ds_sign() argument 108 esp_err_t result = esp_ds_start_sign(message, data, key_id, &context); in esp_ds_sign() 121 const esp_ds_data_t *data, in esp_ds_start_sign() argument 125 if (!message || !data || !esp_ds_ctx) { in esp_ds_start_sign() 131 if (!(data->rsa_length == ESP_DS_RSA_1024 in esp_ds_start_sign() 132 || data->rsa_length == ESP_DS_RSA_2048 in esp_ds_start_sign() 133 || data->rsa_length == ESP_DS_RSA_3072 in esp_ds_start_sign() 135 || data->rsa_length == ESP_DS_RSA_4096 in esp_ds_start_sign() 157 ets_ds_data_t *ds_data = (ets_ds_data_t *) data; in esp_ds_start_sign() [all …]
|
/hal_espressif-latest/components/wpa_supplicant/include/utils/ |
D | wpabuf.h | 37 struct wpabuf * wpabuf_alloc_ext_data(u8 *data, size_t len); 38 struct wpabuf * wpabuf_alloc_copy(const void *data, size_t len); 108 static inline void wpabuf_put_u8(struct wpabuf *buf, u8 data) in wpabuf_put_u8() argument 111 *pos = data; in wpabuf_put_u8() 114 static inline void wpabuf_put_le16(struct wpabuf *buf, u16 data) in wpabuf_put_le16() argument 117 WPA_PUT_LE16(pos, data); in wpabuf_put_le16() 120 static inline void wpabuf_put_le32(struct wpabuf *buf, u32 data) in wpabuf_put_le32() argument 123 WPA_PUT_LE32(pos, data); in wpabuf_put_le32() 126 static inline void wpabuf_put_be16(struct wpabuf *buf, u16 data) in wpabuf_put_be16() argument 129 WPA_PUT_BE16(pos, data); in wpabuf_put_be16() [all …]
|
/hal_espressif-latest/components/bt/porting/transport/driver/vhci/ |
D | hci_driver_standard.c | 22 hci_driver_vhci_controller_tx(hci_driver_data_type_t data_type, uint8_t *data, uint32_t length) in hci_driver_vhci_controller_tx() argument 30 om = (struct os_mbuf *)data; in hci_driver_vhci_controller_tx() 44 memcpy(&buf[1], data, length); in hci_driver_vhci_controller_tx() 45 r_ble_hci_trans_buf_free(data); in hci_driver_vhci_controller_tx() 55 hci_driver_vhci_host_tx(hci_driver_data_type_t data_type, uint8_t *data, uint32_t length) in hci_driver_vhci_host_tx() argument 63 assert(os_mbuf_append(om, &data[1], length - 1) == 0); in hci_driver_vhci_host_tx() 64 data = (uint8_t *)om; in hci_driver_vhci_host_tx() 68 memcpy(cmd, data + 1, length - 1); in hci_driver_vhci_host_tx() 69 data = cmd; in hci_driver_vhci_host_tx() 72 return s_hci_driver_vhci_env.forward_cb(data_type, data, length, HCI_DRIVER_DIR_H2C); in hci_driver_vhci_host_tx() [all …]
|
/hal_espressif-latest/components/bootloader_support/src/ |
D | esp_image_format.c | 88 static esp_err_t process_segments(esp_image_metadata_t *data, bool silent, bool do_load, bootloader… 117 static esp_err_t process_image_header(esp_image_metadata_t *data, uint32_t part_offset, bootloader_… 118 static esp_err_t process_appended_hash_and_sig(esp_image_metadata_t *data, uint32_t part_offset, ui… 119 …sha256_handle_t sha_handle, uint32_t checksum_word, esp_image_metadata_t *data, bool silent, bool … 121 …ot_signature(bootloader_sha256_handle_t sha_handle, esp_image_metadata_t *data, uint8_t *image_dig… 122 …__((unused)) verify_simple_hash(bootloader_sha256_handle_t sha_handle, esp_image_metadata_t *data); 124 …image_load(esp_image_load_mode_t mode, const esp_partition_pos_t *part, esp_image_metadata_t *data) in image_load() argument 146 if (data == NULL || part == NULL) { in image_load() 166 …CHECK_ERR(process_image_header(data, part->offset, (verify_sha) ? p_sha_handle : NULL, do_verify, … in image_load() 167 CHECK_ERR(process_segments(data, silent, do_load, sha_handle, checksum)); in image_load() [all …]
|
/hal_espressif-latest/components/bt/esp_ble_mesh/btc/ |
D | btc_ble_mesh_ble.c | 31 if (p_src_data->scan_ble_adv_pkt.data && p_src_data->scan_ble_adv_pkt.length) { in btc_ble_mesh_ble_copy_req_data() 33 p_dst_data->scan_ble_adv_pkt.data = bt_mesh_calloc(p_src_data->scan_ble_adv_pkt.length); in btc_ble_mesh_ble_copy_req_data() 34 if (p_dst_data->scan_ble_adv_pkt.data) { in btc_ble_mesh_ble_copy_req_data() 35 memcpy(p_dst_data->scan_ble_adv_pkt.data, p_src_data->scan_ble_adv_pkt.data, in btc_ble_mesh_ble_copy_req_data() 62 if (arg->scan_ble_adv_pkt.data) { in btc_ble_mesh_ble_free_req_data() 63 bt_mesh_free(arg->scan_ble_adv_pkt.data); in btc_ble_mesh_ble_free_req_data() 91 uint8_t adv_type, uint8_t data[], in bt_mesh_ble_scan_cb_evt_to_btc() argument 103 if (data && length) { in bt_mesh_ble_scan_cb_evt_to_btc() 104 param.scan_ble_adv_pkt.data = data; in bt_mesh_ble_scan_cb_evt_to_btc() 130 struct bt_mesh_ble_adv_data *data = NULL; in btc_ble_mesh_ble_call_handler() local [all …]
|
/hal_espressif-latest/components/bt/porting/transport/src/ |
D | hci_transport.c | 23 hci_transport_controller_packet_rx(hci_driver_data_type_t data_type, uint8_t *data) in hci_transport_controller_packet_rx() argument 26 r_ble_hci_trans_hs_cmd_tx(data); in hci_transport_controller_packet_rx() 30 r_ble_hci_trans_hs_acl_tx((struct os_mbuf *) data); in hci_transport_controller_packet_rx() 36 hci_transport_host_packet_rx(hci_driver_data_type_t data_type, uint8_t *data, uint32_t length) in hci_transport_host_packet_rx() argument 41 return s_hci_transport_env.host_recv_cb((hci_trans_pkt_ind_t)data_type, data, length); in hci_transport_host_packet_rx() 45 hci_transport_packet_rx(hci_driver_data_type_t data_type, uint8_t *data, uint32_t length, in hci_transport_packet_rx() argument 54 rc = hci_transport_host_packet_rx(data_type, data, length); in hci_transport_packet_rx() 56 rc = hci_transport_controller_packet_rx(data_type, data); in hci_transport_packet_rx() 64 hci_transport_controller_tx_dummy(void *data, void *arg) in hci_transport_controller_tx_dummy() argument 100 hci_transport_host_cmd_tx(uint8_t *data, uint32_t length) in hci_transport_host_cmd_tx() argument [all …]
|
/hal_espressif-latest/components/esp_netif/ |
D | esp_netif_handlers.c | 23 void esp_netif_action_start(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data) in esp_netif_action_start() argument 29 void esp_netif_action_stop(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data) in esp_netif_action_stop() argument 35 …id esp_netif_action_connected(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data) in esp_netif_action_connected() argument 82 …esp_netif_action_disconnected(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data) in esp_netif_action_disconnected() argument 89 void esp_netif_action_got_ip(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data) in esp_netif_action_got_ip() argument 92 const ip_event_got_ip_t *event = (const ip_event_got_ip_t *) data; in esp_netif_action_got_ip() 99 …tion_join_ip6_multicast_group(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data) in esp_netif_action_join_ip6_multicast_group() argument 102 const esp_ip6_addr_t *addr = (const esp_ip6_addr_t *)data; in esp_netif_action_join_ip6_multicast_group() 106 …ion_leave_ip6_multicast_group(void *esp_netif, esp_event_base_t base, int32_t event_id, void *data) in esp_netif_action_leave_ip6_multicast_group() argument 109 const esp_ip6_addr_t *addr = (const esp_ip6_addr_t *)data; in esp_netif_action_leave_ip6_multicast_group() [all …]
|
/hal_espressif-latest/components/bt/common/btc/profile/esp/blufi/ |
D | blufi_protocol.c | 22 void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len) in btc_blufi_protocol_handler() argument 37 blufi_env.sec_mode = data[0]; in btc_blufi_protocol_handler() 43 param.wifi_mode.op_mode = data[0]; in btc_blufi_protocol_handler() 77 uint8_t data[2]; in btc_blufi_protocol_handler() local 79 data[0] = BTC_BLUFI_GREAT_VER; in btc_blufi_protocol_handler() 80 data[1] = BTC_BLUFI_SUB_VER; in btc_blufi_protocol_handler() 81 btc_blufi_send_encap(type, &data[0], sizeof(data)); in btc_blufi_protocol_handler() 105 … blufi_env.cbs->negotiate_data_handler(data, len, &output_data, &output_len, &need_free); in btc_blufi_protocol_handler() 117 memcpy(param.sta_bssid.bssid, &data[0], 6); in btc_blufi_protocol_handler() 125 param.sta_ssid.ssid = &data[0]; in btc_blufi_protocol_handler() [all …]
|
D | blufi_prf.c | 96 void btc_blufi_recv_handler(uint8_t *data, int len) in btc_blufi_recv_handler() argument 98 struct blufi_hdr *hdr = (struct blufi_hdr *)data; in btc_blufi_recv_handler() 113 ret = blufi_env.cbs->decrypt_func(hdr->seq, hdr->data, hdr->data_len); in btc_blufi_recv_handler() 125 checksum_pkt = hdr->data[hdr->data_len] | (((uint16_t) hdr->data[hdr->data_len + 1]) << 8); in btc_blufi_recv_handler() 149 blufi_env.total_len = hdr->data[0] | (((uint16_t) hdr->data[1]) << 8); in btc_blufi_recv_handler() 158 memcpy(blufi_env.aggr_buf + blufi_env.offset, hdr->data + 2, hdr->data_len - 2); in btc_blufi_recv_handler() 180 memcpy(blufi_env.aggr_buf + blufi_env.offset, hdr->data, hdr->data_len); in btc_blufi_recv_handler() 187 btc_blufi_protocol_handler(hdr->type, hdr->data, hdr->data_len); in btc_blufi_recv_handler() 192 void btc_blufi_send_encap(uint8_t type, uint8_t *data, int total_data_len) in btc_blufi_send_encap() argument 213 hdr->data[0] = remain_len & 0xff; in btc_blufi_send_encap() [all …]
|
/hal_espressif-latest/components/bt/common/osi/include/osi/ |
D | list.h | 12 typedef void (*list_free_cb)(void *data); 13 typedef bool (*list_iter_cb)(void *data, void *context); 39 bool list_contains(const list_t *list, const void *data); 43 list_node_t *list_get_node(const list_t *list, const void *data); 62 bool list_insert_after(list_t *list, list_node_t *prev_node, void *data); 68 bool list_prepend(list_t *list, void *data); 74 bool list_append(list_t *list, void *data); 84 bool list_remove(list_t *list, void *data); 87 bool list_delete(list_t *list, void *data);
|
/hal_espressif-latest/components/bt/host/bluedroid/hci/ |
D | hci_hal_h4.c | 90 static int host_recv_pkt_cb(uint8_t *data, uint16_t len); 191 uint8_t *data, uint16_t length) in transmit_data() argument 195 assert(data != NULL); in transmit_data() 204 --data; in transmit_data() 205 previous_byte = *data; in transmit_data() 206 *(data) = type; in transmit_data() 209 BTTRC_DUMP_BUFFER("Transmit Pkt", data, length); in transmit_data() 212 bt_hci_log_record_hci_data(data[0], &data[1], length - 1); in transmit_data() 215 esp_vhci_host_send_packet(data, length); in transmit_data() 218 *(data) = previous_byte; in transmit_data() [all …]
|