HomeSort by relevance Sort by last modified time
    Searched refs:p_data (Results 1 - 25 of 261) sorted by null

1 2 3 4 5 6 7 8 91011

  /external/libnfc-nci/src/nfc/nfc/
nfc_test.c 49 ** Parameters p_data - the data packet
54 tNFC_STATUS NFC_TestLoopback (BT_HDR *p_data)
59 if (p_data && p_cb && (p_data->offset >= (NCI_MSG_OFFSET_SIZE + NCI_DATA_HDR_SIZE)))
61 status = nfc_ncif_send_data (p_cb, p_data);
65 GKI_freebuf (p_data);
nfc_vs.c 97 ** p_data - The parameters for the VS command
103 BT_HDR *p_data,
110 if (p_data == NULL)
112 p_data = NCI_GET_CMD_BUF (0);
113 if (p_data)
115 p_data->offset = NCI_VSC_MSG_HDR_SIZE;
116 p_data->len = 0;
121 if ((p_data == NULL) || (p_data->offset < NCI_VSC_MSG_HDR_SIZE) || (p_data->len > NCI_MAX_VSC_SIZE)
    [all...]
  /external/bluetooth/bluedroid/stack/avdt/
avdt_ccb_act.c 87 void avdt_ccb_chan_open(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
104 void avdt_ccb_chan_close(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
121 void avdt_ccb_chk_close(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
155 void avdt_ccb_hdl_discover_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
161 p_data->msg.discover_rsp.p_sep_info = sep_info;
162 p_data->msg.discover_rsp.num_seps = 0;
170 sep_info[p_data->msg.discover_rsp.num_seps].in_use = p_scb->in_use;
171 sep_info[p_data->msg.discover_rsp.num_seps].seid = i + 1;
172 sep_info[p_data->msg.discover_rsp.num_seps].media_type = p_scb->cs.media_type;
173 sep_info[p_data->msg.discover_rsp.num_seps].tsep = p_scb->cs.tsep
    [all...]
avdt_int.h 450 typedef void (*tAVDT_CCB_ACTION)(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data);
458 UINT8 *p_data; member in struct:__anon3496
512 typedef void (*tAVDT_SCB_ACTION)(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data);
561 extern void avdt_ccb_event(tAVDT_CCB *p_ccb, UINT8 event, tAVDT_CCB_EVT *p_data);
564 extern void avdt_ccb_dealloc(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data);
569 extern void avdt_ccb_chan_open(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data);
570 extern void avdt_ccb_chan_close(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data);
571 extern void avdt_ccb_chk_close(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data);
572 extern void avdt_ccb_hdl_discover_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data);
573 extern void avdt_ccb_hdl_discover_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data);
    [all...]
avdt_scb_act.c 88 void avdt_scb_hdl_abort_cmd(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
91 avdt_scb_event(p_scb, AVDT_SCB_API_ABORT_RSP_EVT, p_data);
104 void avdt_scb_hdl_abort_rsp(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
119 void avdt_scb_hdl_close_cmd(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
122 avdt_scb_event(p_scb, AVDT_SCB_API_CLOSE_RSP_EVT, p_data);
135 void avdt_scb_hdl_close_rsp(tAVDT_SCB *p_scb, tAVDT_SCB_EVT *p_data)
137 p_scb->close_code = p_data->msg.hdr.err_code;
151 void avdt_scb_hdl_getconfig_cmd(tAVDT_SCB *p_scb,tAVDT_SCB_EVT *p_data)
153 p_data->msg.svccap.p_cfg = &p_scb->curr_cfg;
155 avdt_scb_event(p_scb, AVDT_SCB_API_GETCONFIG_RSP_EVT, p_data);
    [all...]
  /external/bluetooth/bluedroid/stack/smp/
smp_int.h 134 UINT8* p_data; member in struct:__anon3981
139 UINT8 *p_data; /* UINT8 type data pointer */ member in union:__anon3982
219 typedef void (*tSMP_ACT)(tSMP_CB *p_cb, tSMP_INT_DATA *p_data);
250 extern void smp_sm_event(tSMP_CB *p_cb, tSMP_EVENT event, void *p_data);
252 extern void smp_proc_sec_request(tSMP_CB *p_cb, tSMP_INT_DATA *p_data);
253 extern void smp_send_pair_req(tSMP_CB *p_cb, tSMP_INT_DATA *p_data);
254 extern void smp_send_confirm(tSMP_CB *p_cb, tSMP_INT_DATA *p_data);
255 extern void smp_send_pair_fail(tSMP_CB *p_cb, tSMP_INT_DATA *p_data);
256 extern void smp_send_init(tSMP_CB *p_cb, tSMP_INT_DATA *p_data);
257 extern void smp_proc_sec_request(tSMP_CB *p_cb, tSMP_INT_DATA *p_data);
    [all...]
  /external/bluetooth/bluedroid/stack/rfcomm/
rfc_ts_frames.c 42 UINT8 *p_data; local
49 p_data = (UINT8 *)(p_buf + 1) + L2CAP_MIN_OFFSET;
52 *p_data++ = RFCOMM_EA | cr | (dlci << RFCOMM_SHIFT_DLCI);
53 *p_data++ = RFCOMM_SABME | RFCOMM_PF;
54 *p_data++ = RFCOMM_EA | 0;
56 *p_data = RFCOMM_SABME_FCS ((UINT8 *)(p_buf + 1) + L2CAP_MIN_OFFSET, cr, dlci);
74 UINT8 *p_data; local
81 p_data = (UINT8 *)(p_buf + 1) + L2CAP_MIN_OFFSET;
84 *p_data++ = RFCOMM_EA | cr | (dlci << RFCOMM_SHIFT_DLCI);
85 *p_data++ = RFCOMM_UA | RFCOMM_PF
106 UINT8 *p_data; local
138 UINT8 *p_data; local
169 UINT8 *p_data; local
234 UINT8 *p_data; local
279 UINT8 *p_data; local
307 UINT8 *p_data; local
336 UINT8 *p_data; local
389 UINT8 *p_data; local
420 UINT8 *p_data; local
453 UINT8 *p_data; local
504 UINT8 *p_data; local
542 UINT8 *p_data; local
573 UINT8 *p_data = (UINT8 *)(p_buf + 1) + p_buf->offset; local
699 UINT8 *p_data = (UINT8 *)(p_buf + 1) + p_buf->offset; local
    [all...]
  /external/bluetooth/bluedroid/stack/mcap/
mca_dact.c 60 void mca_dcb_tc_open (tMCA_DCB *p_dcb, tMCA_DCB_EVT *p_data)
66 if (p_data->open.param == MCA_INT)
69 evt_data.open_cfm.mtu = p_data->open.peer_mtu;
85 void mca_dcb_cong (tMCA_DCB *p_dcb, tMCA_DCB_EVT *p_data)
87 p_dcb->cong = p_data->llcong;
100 void mca_dcb_free_data (tMCA_DCB *p_dcb, tMCA_DCB_EVT *p_data)
102 GKI_freebuf (p_data);
114 void mca_dcb_do_disconn (tMCA_DCB *p_dcb, tMCA_DCB_EVT *p_data)
135 void mca_dcb_snd_data (tMCA_DCB *p_dcb, tMCA_DCB_EVT *p_data)
140 status = L2CA_DataWrite (p_dcb->lcid, p_data->p_pkt)
    [all...]
  /external/bluetooth/bluedroid/stack/avrc/
avrc_bld_tg.c 42 UINT8 *p_data, *p_start, *p_len, *p_count; local
59 p_data = p_len = p_start + 2; /* pdu + rsvd */
61 BE_STREAM_TO_UINT16(len, p_data);
62 UINT8_TO_BE_STREAM(p_data, p_rsp->capability_id);
63 p_count = p_data;
68 p_data++;
73 p_data = p_start + p_pkt->len;
82 UINT24_TO_BE_STREAM(p_data, p_company_id[xx]);
95 UINT8_TO_BE_STREAM(p_data, p_event_id[xx]);
101 p_pkt->len = (p_data - p_start)
120 UINT8 *p_data, *p_start, *p_len, *p_num; local
172 UINT8 *p_data, *p_start, *p_len, *p_num; local
222 UINT8 *p_data, *p_start, *p_len, *p_count; local
297 UINT8 *p_data, *p_start, *p_len, *p_count; local
440 UINT8 *p_data, *p_start, *p_len, *p_count; local
504 UINT8 *p_data, *p_start; local
532 UINT8 *p_data, *p_start; local
674 UINT8 *p_data; local
701 UINT8 *p_data, *p_start; local
758 UINT8 *p_data, *p_start; local
    [all...]
avrc_bld_ct.c 43 UINT8 *p_data, *p_start; local
49 p_data = p_start + 2; /* pdu + rsvd */
52 UINT16_TO_BE_STREAM(p_data, 1);
53 UINT8_TO_BE_STREAM(p_data, p_cmd->target_pdu);
54 p_pkt->len = (p_data - p_start);
76 UINT8 *p_data, *p_start; local
81 p_data = p_start + 2; /* pdu + rsvd */
83 UINT16_TO_BE_STREAM(p_data, 1);
84 UINT8_TO_BE_STREAM(p_data, (AVRC_MAX_VOLUME & p_cmd->volume));
85 p_pkt->len = (p_data - p_start)
101 UINT8 *p_data, *p_start; local
151 UINT8 *p_data, *p_start; local
    [all...]
avrc_opt.c 52 UINT8 *p_data; local
65 p_data = (UINT8 *)(p_cmd + 1) + p_cmd->offset;
66 *p_data++ = (p_msg->hdr.ctype & AVRC_CTYPE_MASK);
67 *p_data++ = (p_msg->hdr.subunit_type << AVRC_SUBTYPE_SHIFT) | p_msg->hdr.subunit_id;
68 *p_data++ = AVRC_OP_VENDOR;
69 AVRC_CO_ID_TO_BE_STREAM(p_data, p_msg->company_id);
72 memcpy(p_data, p_msg->p_vendor_data, p_msg->vendor_len);
74 p_cmd->len = (UINT16) (p_data + p_msg->vendor_len - (UINT8 *)(p_cmd + 1) - p_cmd->offset);
104 UINT8 *p_data; local
109 p_data = (UINT8 *)(p_cmd + 1) + p_cmd->offset
149 UINT8 *p_data; local
    [all...]
avrc_api.c 97 UINT8 *p_data = (UINT8 *)(p_pkt+1) + p_pkt->offset; local
105 *(p_data + i + gap) = *(p_data + i);
108 p_data = (UINT8 *)(p_pkt+1) + p_pkt->offset;
110 *p_data = AVRC_RSP_IMPL_STBL;
111 return p_data;
128 UINT8 *p_data, *p_orig_data; local
143 p_data = (UINT8 *)(p_pkt_new+1) + p_pkt_new->offset;
144 *p_data++ = rsp_type;
145 *p_data++ = (AVRC_SUB_PANEL << AVRC_SUBTYPE_SHIFT)
168 UINT8 *p_old, *p_data; local
239 UINT8 *p_data; local
352 UINT8 *p_data; local
529 UINT8 *p_data; local
806 UINT8 *p_data; local
958 UINT8 *p_data; local
    [all...]
  /external/bluetooth/bluedroid/stack/avct/
avct_int.h 145 extern void avct_lcb_event(tAVCT_LCB *p_lcb, UINT8 event, tAVCT_LCB_EVT *p_data);
147 extern void avct_bcb_event(tAVCT_BCB *p_bcb, UINT8 event, tAVCT_LCB_EVT *p_data);
148 extern void avct_close_bcb(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data);
156 extern void avct_lcb_dealloc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data);
162 extern void avct_lcb_chnl_open(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data);
163 extern void avct_lcb_unbind_disc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data);
164 extern void avct_lcb_open_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data);
165 extern void avct_lcb_open_fail(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data);
166 extern void avct_lcb_close_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data);
167 extern void avct_lcb_close_cfm(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data);
    [all...]
avct_lcb_act.c 170 void avct_lcb_chnl_open(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data)
194 void avct_lcb_unbind_disc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data)
196 avct_ccb_dealloc(p_data->p_ccb, AVCT_DISCONNECT_CFM_EVT, 0, NULL);
212 void avct_lcb_open_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data)
248 avct_lcb_event(p_lcb, AVCT_LCB_INT_CLOSE_EVT, p_data);
263 void avct_lcb_open_fail(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data)
273 p_data->result, p_lcb->peer_addr);
289 void avct_lcb_close_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data)
324 void avct_lcb_close_cfm(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data)
347 avct_ccb_dealloc(p_ccb, event, p_data->result, p_lcb->peer_addr)
    [all...]
  /external/bluetooth/bluedroid/btif/src/
btif_gatt_server.c 138 p_dest_data->req_data.p_data = GKI_getbuf(sizeof(tBTA_GATTS_REQ_DATA));
139 if (p_dest_data->req_data.p_data != NULL)
141 memcpy(p_dest_data->req_data.p_data, p_src_data->req_data.p_data,
151 static void btapp_gatts_free_req_data(UINT16 event, tBTA_GATTS *p_data)
159 if (p_data && p_data->req_data.p_data)
160 GKI_freebuf(p_data->req_data.p_data);
172 tBTA_GATTS *p_data = (tBTA_GATTS*)p_param; local
    [all...]
  /external/bluetooth/bluedroid/bta/include/
bta_ag_ci.h 48 BTA_API extern void bta_ag_ci_rx_write(UINT16 handle, char *p_data, UINT16 len);
74 BTA_API extern void bta_ag_ci_wbs_command (UINT16 handle, char *p_data, UINT16 len);
  /external/bluetooth/bluedroid/bta/av/
bta_av_int.h 249 UINT8 *p_data; member in struct:__anon2841
257 UINT8 *p_data; member in struct:__anon2842
543 typedef void (*tBTA_AV_SACT)(tBTA_AV_SCB *p_scb, tBTA_AV_DATA *p_data);
613 extern void bta_av_conn_cback(UINT8 handle, BD_ADDR bd_addr, UINT8 event, tAVDT_CTRL *p_data);
615 extern void bta_av_proc_stream_evt(UINT8 handle, BD_ADDR bd_addr, UINT8 event, tAVDT_CTRL *p_data, int index);
626 extern void bta_av_api_deregister(tBTA_AV_DATA *p_data);
628 extern void bta_av_sm_execute(tBTA_AV_CB *p_cb, UINT16 event, tBTA_AV_DATA *p_data);
629 extern void bta_av_ssm_execute(tBTA_AV_SCB *p_scb, UINT16 event, tBTA_AV_DATA *p_data);
639 extern void bta_av_api_disconnect(tBTA_AV_DATA *p_data);
640 extern void bta_av_sig_chg(tBTA_AV_DATA *p_data);
    [all...]
  /external/bluetooth/bluedroid/bta/pan/
bta_pan_int.h 196 extern void bta_pan_enable(tBTA_PAN_DATA *p_data);
198 extern void bta_pan_set_role(tBTA_PAN_DATA *p_data);
199 extern void bta_pan_open(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
200 extern void bta_pan_api_close(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
201 extern void bta_pan_set_shutdown(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
202 extern void bta_pan_rx_path(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
203 extern void bta_pan_tx_path(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
204 extern void bta_pan_tx_flow(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
205 extern void bta_pan_conn_open(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
206 extern void bta_pan_conn_close(tBTA_PAN_SCB *p_scb, tBTA_PAN_DATA *p_data);
    [all...]
bta_pan_act.c 273 void bta_pan_enable(tBTA_PAN_DATA *p_data)
283 bta_pan_cb.p_cback = p_data->api_enable.p_cback;
321 void bta_pan_set_role(tBTA_PAN_DATA *p_data)
328 bta_pan_cb.app_id[0] = p_data->api_set_role.user_app_id;
329 bta_pan_cb.app_id[1] = p_data->api_set_role.gn_app_id;
330 bta_pan_cb.app_id[2] = p_data->api_set_role.nap_app_id;
332 sec[0] = p_data->api_set_role.user_sec_mask;
333 sec[1] = p_data->api_set_role.gn_sec_mask;
334 sec[2] = p_data->api_set_role.nap_sec_mask;
337 status = PAN_SetRole(p_data->api_set_role.role, sec
    [all...]
  /external/bluetooth/bluedroid/bta/ag/
bta_ag_int.h 214 // char p_data[BTA_AG_MTU+1];
349 extern void bta_ag_sm_execute(tBTA_AG_SCB *p_scb, UINT16 event, tBTA_AG_DATA *p_data);
358 extern void bta_ag_create_records(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data);
359 extern void bta_ag_del_records(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data);
362 extern void bta_ag_free_db(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data);
368 extern void bta_ag_rfc_do_close(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data);
369 extern void bta_ag_rfc_do_open(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data);
374 extern void bta_ag_sco_conn_rsp(tBTA_AG_SCB *p_scb, tBTM_ESCO_CONN_REQ_EVT_DATA *p_data);
386 extern void bta_ag_register(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data);
387 extern void bta_ag_deregister(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data);
    [all...]
  /external/bluetooth/bluedroid/bta/jv/
bta_jv_int.h 267 UINT8* p_data; member in struct:__anon3274
278 UINT8 *p_data; member in struct:__anon3275
313 UINT8 *p_data; member in struct:__anon3278
342 UINT8 *p_data; member in struct:__anon3281
478 extern void bta_jv_enable (tBTA_JV_MSG *p_data);
479 extern void bta_jv_disable (tBTA_JV_MSG *p_data);
480 extern void bta_jv_set_discoverability (tBTA_JV_MSG *p_data);
481 extern void bta_jv_get_local_device_addr (tBTA_JV_MSG *p_data);
482 extern void bta_jv_get_local_device_name (tBTA_JV_MSG *p_data);
483 extern void bta_jv_get_remote_device_name (tBTA_JV_MSG *p_data);
    [all...]
  /external/bluetooth/bluedroid/stack/include/
rfcdefs.h 69 #define RFCOMM_PARSE_CTRL_FIELD(ea, cr, dlci, p_data) \
71 ea = *p_data & RFCOMM_EA; \
72 cr = (*p_data & RFCOMM_CR_MASK) >> RFCOMM_SHIFT_CR; \
73 dlci = *p_data++ >> RFCOMM_SHIFT_DLCI; \
74 if (!ea) dlci += *p_data++ << RFCOMM_SHIFT_DLCI2; \
77 #define RFCOMM_FORMAT_CTRL_FIELD(p_data, ea, cr, dlci) \
78 *p_data++ = ea | cr | (dlci << RFCOMM_SHIFT_DLCI)
80 #define RFCOMM_PARSE_TYPE_FIELD(type, pf, p_data) \
82 type = *p_data & ~RFCOMM_PF_MASK; \
83 pf = (*p_data++ & RFCOMM_PF_MASK) >> RFCOMM_PF_OFFSET;
    [all...]
  /external/libnfc-nci/src/nfa/dm/
nfa_dm_act.c 59 static void nfa_dm_excl_disc_cback (tNFA_DM_RF_DISC_EVT event, tNFC_DISCOVER *p_data);
60 static void nfa_dm_poll_disc_cback (tNFA_DM_RF_DISC_EVT event, tNFC_DISCOVER *p_data);
247 static void nfa_dm_nfc_response_cback (tNFC_RESPONSE_EVT event, tNFC_RESPONSE *p_data)
266 if (p_data->enable.status == NFC_STATUS_OK)
286 dm_cback_data.status = p_data->enable.status;
299 dm_cback_data.set_config.status = p_data->set_config.status;
300 dm_cback_data.set_config.num_param_id = p_data->set_config.num_param_id;
301 memcpy (dm_cback_data.set_config.param_ids, p_data->set_config.param_ids, p_data->set_config.num_param_id);
319 if (p_data->get_config.status == NFC_STATUS_OK
    [all...]
  /external/libnfc-nci/src/nfa/int/
nfa_ee_int.h 251 UINT8 *p_data; member in struct:__anon22470
281 void *p_data; member in struct:__anon22474
288 tNFC_NFCEE_DISCOVER_REVT *p_data; member in struct:__anon22475
295 tNFC_NFCEE_INFO_REVT *p_data; member in struct:__anon22476
302 tNFC_NFCEE_MODE_SET_REVT *p_data; member in struct:__anon22477
311 tNFC_CONN *p_data; member in struct:__anon22478
318 tNFC_EE_ACTION_REVT *p_data; member in struct:__anon22479
325 tNFC_EE_DISCOVER_REQ_REVT *p_data; member in struct:__anon22480
353 typedef void (*tNFA_EE_SM_ACT)(tNFA_EE_MSG *p_data);
423 void nfa_ee_proc_evt(tNFC_RESPONSE_EVT event, void *p_data);
    [all...]
  /external/bluetooth/bluedroid/bta/dm/
bta_dm_int.h 964 extern void bta_dm_enable (tBTA_DM_MSG *p_data);
965 extern void bta_dm_disable (tBTA_DM_MSG *p_data);
966 extern void bta_dm_set_dev_name (tBTA_DM_MSG *p_data);
967 extern void bta_dm_set_visibility (tBTA_DM_MSG *p_data);
968 extern void bta_dm_set_afhchannels (tBTA_DM_MSG *p_data);
969 extern void bta_dm_vendor_spec_command(tBTA_DM_MSG *p_data);
970 extern void bta_dm_bond (tBTA_DM_MSG *p_data);
971 extern void bta_dm_bond_cancel (tBTA_DM_MSG *p_data);
972 extern void bta_dm_pin_reply (tBTA_DM_MSG *p_data);
973 extern void bta_dm_link_policy (tBTA_DM_MSG *p_data);
    [all...]

Completed in 2738 milliseconds

1 2 3 4 5 6 7 8 91011