BOOLEAN btsnd_hcic_write_auth_enable (UINT8 flag) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_PARAM1)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_PARAM1; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_AUTHENTICATION_ENABLE); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_PARAM1); UINT8_TO_STREAM (pp, flag); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_write_auto_flush_tout (UINT16 handle, UINT16 tout) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_AUTO_FLUSH_TOUT)) == NULL) return (FALSE); pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_AUTO_FLUSH_TOUT; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_AUTO_FLUSH_TOUT); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_AUTO_FLUSH_TOUT); UINT16_TO_STREAM (pp, handle); UINT16_TO_STREAM (pp, tout); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_write_link_super_tout (UINT8 local_controller_id, UINT16 handle, UINT16 timeout) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_LINK_SUPER_TOUT)) == NULL) return (FALSE); pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_LINK_SUPER_TOUT; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_LINK_SUPER_TOUT); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_LINK_SUPER_TOUT); UINT16_TO_STREAM (pp, handle); UINT16_TO_STREAM (pp, timeout); btu_hcif_send_cmd (local_controller_id, p); return (TRUE); }
BOOLEAN btsnd_hcic_ble_receiver_test(UINT8 rx_freq) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_PARAM1)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_PARAM1; p->offset = 0; UINT16_TO_STREAM (pp, HCI_BLE_RECEIVER_TEST); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_PARAM1); UINT8_TO_STREAM (pp, rx_freq); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_ble_set_rand_priv_addr_timeout (UINT16 rpa_timout) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF (HCIC_PARAM_SIZE_BLE_SET_RAND_PRIV_ADDR_TIMOUT)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_BLE_SET_RAND_PRIV_ADDR_TIMOUT; p->offset = 0; UINT16_TO_STREAM (pp, HCI_BLE_SET_RAND_PRIV_ADDR_TIMOUT); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_BLE_SET_RAND_PRIV_ADDR_TIMOUT); UINT16_TO_STREAM (pp, rpa_timout); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_ble_set_host_chnl_class (UINT8 chnl_map[HCIC_BLE_CHNL_MAP_SIZE]) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_SET_HOST_CHNL_CLASS)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_SET_HOST_CHNL_CLASS; p->offset = 0; UINT16_TO_STREAM (pp, HCI_BLE_SET_HOST_CHNL_CLASS); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_SET_HOST_CHNL_CLASS); ARRAY_TO_STREAM (pp, chnl_map, HCIC_BLE_CHNL_MAP_SIZE); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_ble_set_random_addr (BD_ADDR random_bda) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_RANDOM_ADDR_CMD)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_RANDOM_ADDR_CMD; p->offset = 0; UINT16_TO_STREAM (pp, HCI_BLE_WRITE_RANDOM_ADDR); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_RANDOM_ADDR_CMD); BDADDR_TO_STREAM (pp, random_bda); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_disconnect (UINT16 handle, UINT8 reason) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_DISCONNECT)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_DISCONNECT; p->offset = 0; UINT16_TO_STREAM (pp, HCI_DISCONNECT); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_DISCONNECT); UINT16_TO_STREAM (pp, handle); UINT8_TO_STREAM (pp, reason); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_write_inquiry_mode (UINT8 mode) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_PARAM1)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_PARAM1; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_INQUIRY_MODE); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_PARAM1); UINT8_TO_STREAM (pp, mode); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_enhanced_flush (UINT16 handle, UINT8 packet_type) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_ENHANCED_FLUSH)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_ENHANCED_FLUSH; p->offset = 0; UINT16_TO_STREAM (pp, HCI_ENHANCED_FLUSH); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_ENHANCED_FLUSH); UINT16_TO_STREAM (pp, handle); UINT8_TO_STREAM (pp, packet_type); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_get_link_quality (UINT16 handle) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_CMD_HANDLE)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_CMD_HANDLE; p->offset = 0; UINT16_TO_STREAM (pp, HCI_GET_LINK_QUALITY); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_CMD_HANDLE); UINT16_TO_STREAM (pp, handle); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_create_conn(BD_ADDR dest, UINT16 packet_types, UINT8 page_scan_rep_mode, UINT8 page_scan_mode, UINT16 clock_offset, UINT8 allow_switch) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_CREATE_CONN)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); #ifndef BT_10A p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_CREATE_CONN; #else p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_CREATE_CONN - 1; #endif p->offset = 0; UINT16_TO_STREAM (pp, HCI_CREATE_CONNECTION); #ifndef BT_10A UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_CREATE_CONN); #else UINT8_TO_STREAM (pp, (HCIC_PARAM_SIZE_CREATE_CONN - 1)); #endif BDADDR_TO_STREAM (pp, dest); UINT16_TO_STREAM (pp, packet_types); UINT8_TO_STREAM (pp, page_scan_rep_mode); UINT8_TO_STREAM (pp, page_scan_mode); UINT16_TO_STREAM (pp, clock_offset); #if !defined (BT_10A) UINT8_TO_STREAM (pp, allow_switch); #endif #if (SMP_INCLUDED == TRUE && CLASSIC_BT_INCLUDED == TRUE) btm_acl_paging (p, dest); #endif ///SMP_INCLUDED == TRUE && CLASSIC_BT_INCLUDED == TRUE return (TRUE); }
BOOLEAN btsnd_hcic_write_voice_settings(UINT16 flags) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_PARAM2)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_PARAM2; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_VOICE_SETTINGS); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_PARAM2); UINT16_TO_STREAM (pp, flags); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_write_dev_class(DEV_CLASS dev_class) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_PARAM3)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_PARAM3; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_CLASS_OF_DEVICE); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_PARAM3); DEVCLASS_TO_STREAM (pp, dev_class); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_write_policy_set (UINT16 handle, UINT16 settings) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_POLICY_SET)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_POLICY_SET; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_POLICY_SETTINGS); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_POLICY_SET); UINT16_TO_STREAM (pp, handle); UINT16_TO_STREAM (pp, settings); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_write_pagescan_type (UINT8 type) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_PARAM1)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_PARAM1; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_PAGESCAN_TYPE); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_PARAM1); UINT8_TO_STREAM (pp, type); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_ble_remove_from_white_list (UINT8 addr_type, BD_ADDR bda) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_REMOVE_WHITE_LIST)) == NULL) return (FALSE); pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_REMOVE_WHITE_LIST; p->offset = 0; UINT16_TO_STREAM (pp, HCI_BLE_REMOVE_WHITE_LIST); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_REMOVE_WHITE_LIST); UINT8_TO_STREAM (pp, addr_type); BDADDR_TO_STREAM (pp, bda); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_create_conn_cancel(BD_ADDR dest) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_CREATE_CONN_CANCEL)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_CREATE_CONN_CANCEL; p->offset = 0; UINT16_TO_STREAM (pp, HCI_CREATE_CONNECTION_CANCEL); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_CREATE_CONN_CANCEL); BDADDR_TO_STREAM (pp, dest); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_ble_read_remote_feat (UINT16 handle) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_BLE_READ_REMOTE_FEAT)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_BLE_READ_REMOTE_FEAT; p->offset = 0; UINT16_TO_STREAM (pp, HCI_BLE_READ_REMOTE_FEAT); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_BLE_READ_REMOTE_FEAT); UINT16_TO_STREAM (pp, handle); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_pin_code_neg_reply (BD_ADDR bd_addr) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_PIN_CODE_NEG_REPLY)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_PIN_CODE_NEG_REPLY; p->offset = 0; UINT16_TO_STREAM (pp, HCI_PIN_CODE_REQUEST_NEG_REPLY); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_PIN_CODE_NEG_REPLY); BDADDR_TO_STREAM (pp, bd_addr); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_ble_ltk_req_neg_reply (UINT16 handle) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_LTK_REQ_NEG_REPLY)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_LTK_REQ_NEG_REPLY; p->offset = 0; UINT16_TO_STREAM (pp, HCI_BLE_LTK_REQ_NEG_REPLY); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_LTK_REQ_NEG_REPLY); UINT16_TO_STREAM (pp, handle); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_auth_request (UINT16 handle) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_CMD_HANDLE)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_CMD_HANDLE; p->offset = 0; UINT16_TO_STREAM (pp, HCI_AUTHENTICATION_REQUESTED); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_CMD_HANDLE); UINT16_TO_STREAM (pp, handle); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_ble_set_addr_resolution_enable (UINT8 addr_resolution_enable) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF (HCIC_PARAM_SIZE_BLE_SET_ADDR_RESOLUTION_ENABLE)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_BLE_SET_ADDR_RESOLUTION_ENABLE; p->offset = 0; UINT16_TO_STREAM (pp, HCI_BLE_SET_ADDR_RESOLUTION_ENABLE); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_BLE_SET_ADDR_RESOLUTION_ENABLE); UINT8_TO_STREAM (pp, addr_resolution_enable); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_rmt_name_req_cancel (BD_ADDR bd_addr) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_RMT_NAME_REQ_CANCEL)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_RMT_NAME_REQ_CANCEL; p->offset = 0; UINT16_TO_STREAM (pp, HCI_RMT_NAME_REQUEST_CANCEL); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_RMT_NAME_REQ_CANCEL); BDADDR_TO_STREAM (pp, bd_addr); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_write_inqscan_cfg(UINT16 interval, UINT16 window) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_INQSCAN_CFG)) == NULL) return (FALSE); pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_INQSCAN_CFG; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_INQUIRYSCAN_CFG); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_INQSCAN_CFG); UINT16_TO_STREAM (pp, interval); UINT16_TO_STREAM (pp, window); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_read_rmt_clk_offset (UINT16 handle) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_CMD_HANDLE)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_CMD_HANDLE; p->offset = 0; UINT16_TO_STREAM (pp, HCI_READ_RMT_CLOCK_OFFSET); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_CMD_HANDLE); UINT16_TO_STREAM (pp, handle); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_read_tx_power (UINT16 handle, UINT8 type) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_READ_TX_POWER)) == NULL) return (FALSE); pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_READ_TX_POWER; p->offset = 0; UINT16_TO_STREAM (pp, HCI_READ_TRANSMIT_POWER_LEVEL); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_READ_TX_POWER); UINT16_TO_STREAM (pp, handle); UINT8_TO_STREAM (pp, type); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_exit_park_mode (UINT16 handle) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_CMD_HANDLE)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_CMD_HANDLE; p->offset = 0; UINT16_TO_STREAM (pp, HCI_EXIT_PARK_MODE); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_CMD_HANDLE); UINT16_TO_STREAM (pp, handle); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return TRUE; }
BOOLEAN btsnd_hcic_write_page_tout (UINT16 timeout) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_WRITE_PARAM2)) == NULL) { return (FALSE); } pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_WRITE_PARAM2; p->offset = 0; UINT16_TO_STREAM (pp, HCI_WRITE_PAGE_TOUT); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_WRITE_PARAM2); UINT16_TO_STREAM (pp, timeout); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }
BOOLEAN btsnd_hcic_inquiry(const LAP inq_lap, UINT8 duration, UINT8 response_cnt) { BT_HDR *p; UINT8 *pp; if ((p = HCI_GET_CMD_BUF(HCIC_PARAM_SIZE_INQUIRY)) == NULL) return (FALSE); pp = (UINT8 *)(p + 1); p->len = HCIC_PREAMBLE_SIZE + HCIC_PARAM_SIZE_INQUIRY; p->offset = 0; UINT16_TO_STREAM (pp, HCI_INQUIRY); UINT8_TO_STREAM (pp, HCIC_PARAM_SIZE_INQUIRY); LAP_TO_STREAM (pp, inq_lap); UINT8_TO_STREAM (pp, duration); UINT8_TO_STREAM (pp, response_cnt); btu_hcif_send_cmd (LOCAL_BR_EDR_CONTROLLER_ID, p); return (TRUE); }