Home | History | Annotate | Download | only in hci

Lines Matching refs:p_evt_data

39 static void nfa_hci_api_register (tNFA_HCI_EVENT_DATA *p_evt_data);
40 static void nfa_hci_api_get_gate_pipe_list (tNFA_HCI_EVENT_DATA *p_evt_data);
41 static void nfa_hci_api_alloc_gate (tNFA_HCI_EVENT_DATA *p_evt_data);
42 static void nfa_hci_api_get_host_list (tNFA_HCI_EVENT_DATA *p_evt_data);
43 static BOOLEAN nfa_hci_api_get_reg_value (tNFA_HCI_EVENT_DATA *p_evt_data);
44 static BOOLEAN nfa_hci_api_set_reg_value (tNFA_HCI_EVENT_DATA *p_evt_data);
45 static BOOLEAN nfa_hci_api_create_pipe (tNFA_HCI_EVENT_DATA *p_evt_data);
46 static void nfa_hci_api_open_pipe (tNFA_HCI_EVENT_DATA *p_evt_data);
47 static void nfa_hci_api_close_pipe (tNFA_HCI_EVENT_DATA *p_evt_data);
48 static void nfa_hci_api_delete_pipe (tNFA_HCI_EVENT_DATA *p_evt_data);
49 static BOOLEAN nfa_hci_api_send_event (tNFA_HCI_EVENT_DATA *p_evt_data);
50 static BOOLEAN nfa_hci_api_send_cmd (tNFA_HCI_EVENT_DATA *p_evt_data);
51 static void nfa_hci_api_send_rsp (tNFA_HCI_EVENT_DATA *p_evt_data);
52 static void nfa_hci_api_add_static_pipe (tNFA_HCI_EVENT_DATA *p_evt_data);
74 tNFA_HCI_EVENT_DATA *p_evt_data;
83 p_evt_data = (tNFA_HCI_EVENT_DATA *)p_msg;
86 nfa_hci_cb.app_in_use = p_evt_data->comm.hci_handle;
92 if (nfa_hci_api_create_pipe (p_evt_data) == FALSE)
97 if (nfa_hci_api_get_reg_value (p_evt_data) == FALSE)
102 if (nfa_hci_api_set_reg_value (p_evt_data) == FALSE)
107 if (nfa_hci_api_send_cmd (p_evt_data) == FALSE)
111 if (nfa_hci_api_send_event (p_evt_data) == FALSE)
132 tNFA_HCI_EVENT_DATA *p_evt_data;
142 p_evt_data = (tNFA_HCI_EVENT_DATA *)p_msg;
145 nfa_hci_cb.app_in_use = p_evt_data->comm.hci_handle;
150 nfa_hci_api_register (p_evt_data);
154 nfa_hci_api_deregister (p_evt_data);
158 nfa_hci_api_get_gate_pipe_list (p_evt_data);
162 nfa_hci_api_alloc_gate (p_evt_data);
166 nfa_hci_api_dealloc_gate (p_evt_data);
170 nfa_hci_api_get_host_list (p_evt_data);
174 if (nfa_hci_api_get_reg_value (p_evt_data) == FALSE)
179 if (nfa_hci_api_set_reg_value (p_evt_data) == FALSE)
184 if (nfa_hci_api_create_pipe (p_evt_data) == FALSE)
189 nfa_hci_api_open_pipe (p_evt_data);
193 nfa_hci_api_close_pipe (p_evt_data);
197 nfa_hci_api_delete_pipe (p_evt_data);
201 if (nfa_hci_api_send_cmd (p_evt_data) == FALSE)
206 nfa_hci_api_send_rsp (p_evt_data);
210 if (nfa_hci_api_send_event (p_evt_data) == FALSE)
215 nfa_hci_api_add_static_pipe (p_evt_data);
236 static void nfa_hci_api_register (tNFA_HCI_EVENT_DATA *p_evt_data)
239 char *p_app_name = p_evt_data->app_info.app_name;
240 tNFA_HCI_CBACK *p_cback = p_evt_data->app_info.p_cback;
290 p_evt_data->app_info.p_cback (NFA_HCI_REGISTER_EVT, &evt_data);
299 nfa_hci_cb.cfg.b_send_conn_evts[xx] = p_evt_data->app_info.b_send_conn_evts;
306 p_evt_data->app_info.p_cback (NFA_HCI_REGISTER_EVT, &evt_data);
318 void nfa_hci_api_deregister (tNFA_HCI_EVENT_DATA *p_evt_data)
327 if (p_evt_data != NULL)
332 && !strncmp (p_evt_data->app_info.app_name, &nfa_hci_cb.cfg.reg_app_names[xx][0], strlen (p_evt_data->app_info.app_name)) )
334 NFA_TRACE_EVENT2 ("nfa_hci_api_deregister (%s) inx: %u", p_evt_data->app_info.app_name, xx);
341 NFA_TRACE_WARNING1 ("nfa_hci_api_deregister () Unknown app: %s", p_evt_data->app_info.app_name);
414 static void nfa_hci_api_get_gate_pipe_list (tNFA_HCI_EVENT_DATA *p_evt_data)
426 if (pg->gate_owner == p_evt_data->get_gate_pipe_list.hci_handle)
470 nfa_hciu_send_to_app (NFA_HCI_GET_GATE_PIPE_LIST_EVT, &evt_data, p_evt_data->get_gate_pipe_list.hci_handle);
482 static void nfa_hci_api_alloc_gate (tNFA_HCI_EVENT_DATA *p_evt_data)
484 tNFA_HANDLE app_handle = p_evt_data->comm.hci_handle;
488 p_gate = nfa_hciu_alloc_gate (p_evt_data->gate_info.gate, app_handle);
501 NFA_TRACE_ERROR1 ("nfa_hci_api_alloc_gate (): The Gate (0X%02x) already taken!", p_evt_data->gate_info.gate);
521 void nfa_hci_api_dealloc_gate (tNFA_HCI_EVENT_DATA *p_evt_data)
529 /* p_evt_data may be NULL if we are recursively deleting pipes */
530 if (p_evt_data)
532 gate_id = p_evt_data->gate_dealloc.gate;
533 app_handle = p_evt_data->gate_dealloc.hci_handle;
601 static void nfa_hci_api_get_host_list (tNFA_HCI_EVENT_DATA *p_evt_data)
603 UINT8 app_inx = p_evt_data->get_host_list.hci_handle & NFA_HANDLE_MASK;
605 nfa_hci_cb.app_in_use = p_evt_data->get_host_list.hci_handle;
625 static BOOLEAN nfa_hci_api_create_pipe (tNFA_HCI_EVENT_DATA *p_evt_data)
627 tNFA_HCI_DYN_GATE *p_gate = nfa_hciu_find_gate_by_gid (p_evt_data->create_pipe.source_gate);
633 ||(p_gate->gate_owner != p_evt_data->create_pipe.hci_handle) )
636 NFA_TRACE_ERROR2 ("nfa_hci_api_create_pipe Cannot create pipe! APP: 0x%02x does not own the gate:0x%x", p_evt_data->create_pipe.hci_handle, p_evt_data->create_pipe.source_gate);
638 else if (nfa_hciu_check_pipe_between_gates (p_evt_data->create_pipe.source_gate, p_evt_data->create_pipe.dest_host, p_evt_data->create_pipe.dest_gate))
646 evt_data.created.source_gate = p_evt_data->create_pipe.source_gate;
649 nfa_hciu_send_to_app (NFA_HCI_CREATE_PIPE_EVT, &evt_data, p_evt_data->open_pipe.hci_handle);
653 if (nfa_hciu_is_host_reseting (p_evt_data->create_pipe.dest_gate))
655 GKI_enqueue (&nfa_hci_cb.hci_host_reset_api_q, (BT_HDR *) p_evt_data);
659 nfa_hci_cb.local_gate_in_use = p_evt_data->create_pipe.source_gate;
660 nfa_hci_cb.remote_gate_in_use = p_evt_data->create_pipe.dest_gate;
661 nfa_hci_cb.remote_host_in_use = p_evt_data->create_pipe.dest_host;
662 nfa_hci_cb.app_in_use = p_evt_data->create_pipe.hci_handle;
664 nfa_hciu_send_create_pipe_cmd (p_evt_data->create_pipe.source_gate, p_evt_data->create_pipe.dest_host, p_evt_data->create_pipe.dest_gate);
678 static void nfa_hci_api_open_pipe (tNFA_HCI_EVENT_DATA *p_evt_data)
681 tNFA_HCI_DYN_PIPE *p_pipe = nfa_hciu_find_pipe_by_pid (p_evt_data->open_pipe.pipe);
690 &&(p_gate->gate_owner == p_evt_data->open_pipe.hci_handle))
694 nfa_hciu_send_open_pipe_cmd (p_evt_data->open_pipe.pipe);
698 evt_data.opened.pipe = p_evt_data->open_pipe.pipe;
701 nfa_hciu_send_to_app (NFA_HCI_OPEN_PIPE_EVT, &evt_data, p_evt_data->open_pipe.hci_handle);
706 evt_data.opened.pipe = p_evt_data->open_pipe.pipe;
709 nfa_hciu_send_to_app (NFA_HCI_OPEN_PIPE_EVT, &evt_data, p_evt_data->open_pipe.hci_handle);
723 static BOOLEAN nfa_hci_api_get_reg_value (tNFA_HCI_EVENT_DATA *p_evt_data)
725 tNFA_HCI_DYN_PIPE *p_pipe = nfa_hciu_find_pipe_by_pid (p_evt_data->get_registry.pipe);
734 if ((p_gate != NULL) && (nfa_hciu_is_active_host (p_pipe->dest_host)) && (p_gate->gate_owner == p_evt_data->get_registry.hci_handle))
736 nfa_hci_cb.app_in_use = p_evt_data->get_registry.hci_handle;
740 GKI_enqueue (&nfa_hci_cb.hci_host_reset_api_q, (BT_HDR *) p_evt_data);
746 NFA_TRACE_WARNING1 ("nfa_hci_api_get_reg_value pipe:%d not open", p_evt_data->get_registry.pipe);
750 if ((status = nfa_hciu_send_get_param_cmd (p_evt_data->get_registry.pipe, p_evt_data->get_registry.reg_inx)) == NFA_STATUS_OK)
759 nfa_hciu_send_to_app (NFA_HCI_CMD_SENT_EVT, &evt_data, p_evt_data->get_registry.hci_handle);
773 static BOOLEAN nfa_hci_api_set_reg_value (tNFA_HCI_EVENT_DATA *p_evt_data)
775 tNFA_HCI_DYN_PIPE *p_pipe = nfa_hciu_find_pipe_by_pid (p_evt_data->set_registry.pipe);
784 if ((p_gate != NULL) && (nfa_hciu_is_active_host (p_pipe->dest_host)) && (p_gate->gate_owner == p_evt_data->set_registry.hci_handle))
786 nfa_hci_cb.app_in_use = p_evt_data->set_registry.hci_handle;
790 GKI_enqueue (&nfa_hci_cb.hci_host_reset_api_q, (BT_HDR *) p_evt_data);
796 NFA_TRACE_WARNING1 ("nfa_hci_api_set_reg_value pipe:%d not open", p_evt_data->set_registry.pipe);
800 if ((status = nfa_hciu_send_set_param_cmd (p_evt_data->set_registry.pipe, p_evt_data->set_registry.reg_inx, p_evt_data->set_registry.size, p_evt_data->set_registry.data)) == NFA_STATUS_OK)
808 nfa_hciu_send_to_app (NFA_HCI_CMD_SENT_EVT, &evt_data, p_evt_data->set_registry.hci_handle);
822 static void nfa_hci_api_close_pipe (tNFA_HCI_EVENT_DATA *p_evt_data)
825 tNFA_HCI_DYN_PIPE *p_pipe = nfa_hciu_find_pipe_by_pid (p_evt_data->close_pipe.pipe);
834 &&(p_gate->gate_owner == p_evt_data->close_pipe.hci_handle) )
838 nfa_hciu_send_close_pipe_cmd (p_evt_data->close_pipe.pipe);
843 evt_data.closed.pipe = p_evt_data->close_pipe.pipe;
845 nfa_hciu_send_to_app (NFA_HCI_CLOSE_PIPE_EVT, &evt_data, p_evt_data->close_pipe.hci_handle);
853 nfa_hciu_send_to_app (NFA_HCI_CLOSE_PIPE_EVT, &evt_data, p_evt_data->close_pipe.hci_handle);
866 static void nfa_hci_api_delete_pipe (tNFA_HCI_EVENT_DATA *p_evt_data)
869 tNFA_HCI_DYN_PIPE *p_pipe = nfa_hciu_find_pipe_by_pid (p_evt_data->delete_pipe.pipe);
876 &&(p_gate->gate_owner == p_evt_data->delete_pipe.hci_handle)
879 nfa_hciu_send_delete_pipe_cmd (p_evt_data->delete_pipe.pipe);
886 nfa_hciu_send_to_app (NFA_HCI_DELETE_PIPE_EVT, &evt_data, p_evt_data->close_pipe.hci_handle);
899 static BOOLEAN nfa_hci_api_send_cmd (tNFA_HCI_EVENT_DATA *p_evt_data)
906 if ((p_pipe = nfa_hciu_find_pipe_by_pid (p_evt_data->send_cmd.pipe)) != NULL)
908 app_handle = nfa_hciu_get_pipe_owner (p_evt_data->send_cmd.pipe);
911 &&((app_handle == p_evt_data->send_cmd.hci_handle || p_pipe->local_gate == NFA_HCI_CONNECTIVITY_GATE)) )
915 GKI_enqueue (&nfa_hci_cb.hci_host_reset_api_q, (BT_HDR *) p_evt_data);
921 nfa_hci_cb.pipe_in_use = p_evt_data->send_cmd.pipe;
922 if ((status = nfa_hciu_send_msg (p_pipe->pipe_id, NFA_HCI_COMMAND_TYPE, p_evt_data->send_cmd.cmd_code,
923 p_evt_data->send_cmd.cmd_len, p_evt_data->send_cmd.data)) == NFA_STATUS_OK)
939 NFA_TRACE_WARNING1 ("nfa_hci_api_send_cmd pipe:%d not found", p_evt_data->send_cmd.pipe);
945 nfa_hciu_send_to_app (NFA_HCI_CMD_SENT_EVT, &evt_data, p_evt_data->send_cmd.hci_handle);
958 static void nfa_hci_api_send_rsp (tNFA_HCI_EVENT_DATA *p_evt_data)
965 if ((p_pipe = nfa_hciu_find_pipe_by_pid (p_evt_data->send_rsp.pipe)) != NULL)
967 app_handle = nfa_hciu_get_pipe_owner (p_evt_data->send_rsp.pipe);
970 &&((app_handle == p_evt_data->send_rsp.hci_handle || p_pipe->local_gate == NFA_HCI_CONNECTIVITY_GATE)) )
974 if ((status = nfa_hciu_send_msg (p_pipe->pipe_id, NFA_HCI_RESPONSE_TYPE, p_evt_data->send_rsp.response,
975 p_evt_data->send_rsp.size, p_evt_data->send_rsp.data)) == NFA_STATUS_OK)
991 NFA_TRACE_WARNING1 ("nfa_hci_api_send_rsp pipe:%d not found", p_evt_data->send_rsp.pipe);
997 nfa_hciu_send_to_app (NFA_HCI_RSP_SENT_EVT, &evt_data, p_evt_data->send_rsp.hci_handle);
1010 static BOOLEAN nfa_hci_api_send_event (tNFA_HCI_EVENT_DATA *p_evt_data)
1017 if ((p_pipe = nfa_hciu_find_pipe_by_pid (p_evt_data->send_evt.pipe)) != NULL)
1019 app_handle = nfa_hciu_get_pipe_owner (p_evt_data->send_evt.pipe);
1022 &&((app_handle == p_evt_data->send_evt.hci_handle || p_pipe->local_gate == NFA_HCI_CONNECTIVITY_GATE)) )
1026 GKI_enqueue (&nfa_hci_cb.hci_host_reset_api_q, (BT_HDR *) p_evt_data);
1032 status = nfa_hciu_send_msg (p_pipe->pipe_id, NFA_HCI_EVENT_TYPE, p_evt_data->send_evt.evt_code,
1033 p_evt_data->send_evt.evt_len, p_evt_data->send_evt.p_evt_buf);
1043 if (p_evt_data->send_evt.rsp_len)
1045 nfa_hci_cb.pipe_in_use = p_evt_data->send_evt.pipe;
1046 nfa_hci_cb.rsp_buf_size = p_evt_data->send_evt.rsp_len;
1047 nfa_hci_cb.p_rsp_buf = p_evt_data->send_evt.p_rsp_buf;
1048 if (p_evt_data->send_evt.rsp_timeout)
1052 nfa_sys_start_timer (&nfa_hci_cb.timer, NFA_HCI_RSP_TIMEOUT_EVT, p_evt_data->send_evt.rsp_timeout);
1063 nfa_hci_cb.pipe_in_use = p_evt_data->send_evt.pipe;
1084 NFA_TRACE_WARNING1 ("nfa_hci_api_send_event pipe:%d not found", p_evt_data->send_evt.pipe);
1090 nfa_hciu_send_to_app (NFA_HCI_EVENT_SENT_EVT, &evt_data, p_evt_data->send_evt.hci_handle);
1103 static void nfa_hci_api_add_static_pipe (tNFA_HCI_EVENT_DATA *p_evt_data)
1110 if ((pg = nfa_hciu_alloc_gate (p_evt_data->add_static_pipe.gate, p_evt_data->add_static_pipe.hci_handle)) != NULL)
1113 pg->gate_owner = p_evt_data->add_static_pipe.hci_handle;
1116 if (nfa_hciu_add_pipe_to_gate (p_evt_data->add_static_pipe.pipe,pg->gate_id, p_evt_data->add_static_pipe.host, p_evt_data->add_static_pipe.gate) != NFA_HCI_ANY_OK)
1121 nfa_hciu_send_to_app (NFA_HCI_ADD_STATIC_PIPE_EVT, &evt_data, p_evt_data->add_static_pipe.hci_handle);
1124 if ((pp = nfa_hciu_find_pipe_by_pid (p_evt_data->add_static_pipe.pipe)) != NULL)
1129 nfa_hciu_send_to_app (NFA_HCI_ADD_STATIC_PIPE_EVT, &evt_data, p_evt_data->add_static_pipe.hci_handle);
1135 nfa_hciu_send_to_app (NFA_HCI_ADD_STATIC_PIPE_EVT, &evt_data, p_evt_data->add_static_pipe.hci_handle);