16ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/****************************************************************************** 26ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * 36ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * Copyright (C) 2006-2012 Broadcom Corporation 46ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * 56ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * Licensed under the Apache License, Version 2.0 (the "License"); 66ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * you may not use this file except in compliance with the License. 76ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * You may obtain a copy of the License at: 86ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * 96ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * http://www.apache.org/licenses/LICENSE-2.0 106ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * 116ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * Unless required by applicable law or agreed to in writing, software 126ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * distributed under the License is distributed on an "AS IS" BASIS, 136ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 146ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * See the License for the specific language governing permissions and 156ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * limitations under the License. 166ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * 176ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach ******************************************************************************/ 186ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach 196ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach/****************************************************************************** 206ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * 216ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * This is the private interface file for the BTA Java I/F 226ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * 236ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach ******************************************************************************/ 2466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#ifndef BTA_JV_INT_H 2566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#define BTA_JV_INT_H 2666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 2766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#include "bta_sys.h" 2866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#include "bta_api.h" 2966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#include "bta_jv_api.h" 3066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#include "rfcdefs.h" 3166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 3266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/***************************************************************************** 3366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani** Constants 3466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani*****************************************************************************/ 3566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 3666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanienum 3766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 3866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani /* these events are handled by the state machine */ 3966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_ENABLE_EVT = BTA_SYS_EVT_START(BTA_ID_JV), 4066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_DISABLE_EVT, 4166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_SET_DISCOVERABILITY_EVT, 4266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_GET_LOCAL_DEVICE_ADDR_EVT, 4366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_GET_LOCAL_DEVICE_NAME_EVT, 4466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_GET_REMOTE_DEVICE_NAME_EVT, 4566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_SET_SERVICE_CLASS_EVT, 4666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_SET_ENCRYPTION_EVT, 4766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_GET_SCN_EVT, 4866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_FREE_SCN_EVT, 4966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_START_DISCOVERY_EVT, 5066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_CANCEL_DISCOVERY_EVT, 5166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_GET_SERVICES_LENGTH_EVT, 5266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_SERVICE_SELECT_EVT, 5366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_CREATE_RECORD_EVT, 5466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_UPDATE_RECORD_EVT, 5566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_ADD_ATTRIBUTE_EVT, 5666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_DELETE_ATTRIBUTE_EVT, 5766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_DELETE_RECORD_EVT, 5866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_L2CAP_CONNECT_EVT, 5966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_L2CAP_CLOSE_EVT, 6066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_L2CAP_START_SERVER_EVT, 6166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_L2CAP_STOP_SERVER_EVT, 6266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_L2CAP_READ_EVT, 6366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_L2CAP_WRITE_EVT, 6466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_RFCOMM_CONNECT_EVT, 6566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_RFCOMM_CLOSE_EVT, 6666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_RFCOMM_START_SERVER_EVT, 6766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_RFCOMM_STOP_SERVER_EVT, 6866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_RFCOMM_READ_EVT, 6966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_API_RFCOMM_WRITE_EVT, 7066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_MAX_INT_EVT 7166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani}; 7266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 7366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_ENABLE_EVT */ 7466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 7566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 7666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 7766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_DM_CBACK *p_cback; 7866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_ENABLE; 7966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 8066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_SET_DISCOVERABILITY_EVT */ 8166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 8266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 8366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 8466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_DISC disc_mode; 8566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_SET_DISCOVERABILITY; 8666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 8766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 8866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_SET_SERVICE_CLASS_EVT */ 8966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 9066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 9166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 9266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 service; 9366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_SET_SERVICE_CLASS; 9466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 9566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_SET_ENCRYPTION_EVT */ 9666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 9766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 9866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 9966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BD_ADDR bd_addr; 10066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_SET_ENCRYPTION; 10166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 10266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_GET_REMOTE_DEVICE_NAME_EVT */ 10366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 10466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 10566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 10666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BD_ADDR bd_addr; 10766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_GET_REMOTE_NAME; 10866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 10966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_START_DISCOVERY_EVT */ 11066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 11166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 11266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 11366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BD_ADDR bd_addr; 11466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 num_uuid; 11566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tSDP_UUID uuid_list[BTA_JV_MAX_UUIDS]; 11666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 num_attr; 11766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 attr_list[BTA_JV_MAX_ATTRS]; 11866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani void *user_data; /* piggyback caller's private data*/ 11966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_START_DISCOVERY; 12066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 12166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_CANCEL_DISCOVERY_EVT */ 12266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 12366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 12466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 12566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani void *user_data; /* piggyback caller's private data*/ 12666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_CANCEL_DISCOVERY; 12766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 12866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 12966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_GET_SERVICES_LENGTH_EVT */ 13066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 13166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 13266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 13366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 *p_services_len; 13466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BOOLEAN inc_hdr; 13566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_GET_SERVICES_LENGTH; 13666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 13766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_GET_SERVICE_RESULT_EVT */ 13866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 13966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 14066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 14166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 **TLVs; 14266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_GET_SERVICE_RESULT; 14366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 14466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_SERVICE_SELECT_EVT */ 14566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 14666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 14766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 14866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 uuid; 14966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_SERVICE_SELECT; 15066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 15166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanienum 15266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 15366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_ST_NONE = 0, 15466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_ST_CL_OPENING, 15566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_ST_CL_OPEN, 15666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_ST_CL_CLOSING, 15766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_ST_SR_LISTEN, 15866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_ST_SR_OPEN, 15966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_ST_SR_CLOSING 16066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} ; 16166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef UINT8 tBTA_JV_STATE; 16266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#define BTA_JV_ST_CL_MAX BTA_JV_ST_CL_CLOSING 16366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 16466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* JV L2CAP control block */ 16566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 16666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 16766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_L2CAP_CBACK *p_cback; /* the callback function */ 16866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 psm; /* the psm used for this server connection */ 16966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_STATE state; /* the state of this control block */ 17066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_SERVICE_ID sec_id; /* service id */ 17166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 handle; /* the handle reported to java app (same as gap handle) */ 17266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BOOLEAN cong; /* TRUE, if congested */ 17366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_L2C_CB; 17466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 17566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#define BTA_JV_RFC_HDL_MASK 0xFF 17666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#define BTA_JV_RFC_HDL_TO_SIDX(r) (((r)&0xFF00) >> 8) 17766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#define BTA_JV_RFC_H_S_TO_HDL(h, s) ((h)|(s<<8)) 17866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 17966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* port control block */ 18066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 18166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 18266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 handle; /* the rfcomm session handle at jv */ 18366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 port_handle; /* port handle */ 18466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_STATE state; /* the state of this control block */ 18566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 max_sess; /* max sessions */ 18666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani void *user_data; /* piggyback caller's private data*/ 18766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BOOLEAN cong; /* TRUE, if congested */ 18866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_PCB; 18966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 19066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* JV RFCOMM control block */ 19166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 19266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 19366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_RFCOMM_CBACK *p_cback; /* the callback function */ 19466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 rfc_hdl[BTA_JV_MAX_RFC_SR_SESSION]; 19566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_SERVICE_ID sec_id; /* service id */ 19666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 handle; /* index: the handle reported to java app */ 19766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 scn; /* the scn of the server */ 19866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 max_sess; /* max sessions */ 19966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_RFC_CB; 20066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 20166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_L2CAP_CONNECT_EVT */ 20266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 20366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 20466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 20566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_SEC sec_mask; 20666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_ROLE role; 20766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 remote_psm; 20866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 rx_mtu; 20966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BD_ADDR peer_bd_addr; 21066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_L2CAP_CBACK *p_cback; 21166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_L2CAP_CONNECT; 21266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 21366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_L2CAP_SERVER_EVT */ 21466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 21566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 21666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 21766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_SEC sec_mask; 21866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_ROLE role; 21966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 local_psm; 22066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 rx_mtu; 22166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_L2CAP_CBACK *p_cback; 22266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_L2CAP_SERVER; 22366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 22466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_L2CAP_CLOSE_EVT */ 22566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 22666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 22766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 22866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 handle; 22966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_L2C_CB *p_cb; 23066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_L2CAP_CLOSE; 23166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 23266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_L2CAP_READ_EVT */ 23366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 23466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 23566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 23666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 handle; 23766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 req_id; 23866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_L2CAP_CBACK *p_cback; 23966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8* p_data; 24066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 len; 24166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_L2CAP_READ; 24266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 24366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_L2CAP_WRITE_EVT */ 24466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 24566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 24666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 24766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 handle; 24866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 req_id; 24966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_L2C_CB *p_cb; 25066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 *p_data; 25166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 len; 25266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_L2CAP_WRITE; 25366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 25466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_RFCOMM_CONNECT_EVT */ 25566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 25666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 25766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 25866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_SEC sec_mask; 25966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_ROLE role; 26066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 remote_scn; 26166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BD_ADDR peer_bd_addr; 26266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_RFCOMM_CBACK *p_cback; 26366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani void *user_data; 26466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_RFCOMM_CONNECT; 26566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 26666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_RFCOMM_SERVER_EVT */ 26766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 26866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 26966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 27066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_SEC sec_mask; 27166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_ROLE role; 27266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 local_scn; 27366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 max_session; 27466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani int rfc_handle; 27566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_RFCOMM_CBACK *p_cback; 27666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani void *user_data; 27766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_RFCOMM_SERVER; 27866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 27966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_RFCOMM_READ_EVT */ 28066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 28166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 28266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 28366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 handle; 28466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 req_id; 28566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 *p_data; 28666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 len; 28766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_RFC_CB *p_cb; 28866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_PCB *p_pcb; 28966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_RFCOMM_READ; 29066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 29166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_RFCOMM_WRITE_EVT */ 29266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 29366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 29466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 29566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 handle; 29666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 req_id; 29766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 *p_data; 29866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani int len; 29966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_RFC_CB *p_cb; 30066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_PCB *p_pcb; 30166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_RFCOMM_WRITE; 30266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 30366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_RFCOMM_CLOSE_EVT */ 30466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 30566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 30666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 30766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 handle; 30866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_RFC_CB *p_cb; 30966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_PCB *p_pcb; 31066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_RFCOMM_CLOSE; 31166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 31266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_CREATE_RECORD_EVT */ 31366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 31466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 31566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 31666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani void *user_data; 31766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_CREATE_RECORD; 31866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 31966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_UPDATE_RECORD_EVT */ 32066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 32166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 32266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 32366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 handle; 32466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 *p_ids; 32566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 **p_values; 32666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani INT32 *p_value_sizes; 32766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani INT32 array_len; 32866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_UPDATE_RECORD; 32966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 33066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_ADD_ATTRIBUTE_EVT */ 33166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 33266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 33366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 33466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 handle; 33566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT16 attr_id; 33666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 *p_value; 33766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani INT32 value_size; 33866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_ADD_ATTRIBUTE; 33966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 34066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* data type for BTA_JV_API_FREE_SCN_EVT */ 34166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 34266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 34366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 34466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 scn; 34566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_API_FREE_SCN; 34666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* union of all data types */ 34766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef union 34866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 34966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani /* GKI event buffer header */ 35066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BT_HDR hdr; 35166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_ENABLE enable; 35266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_SET_DISCOVERABILITY set_discoverability; 35366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_GET_REMOTE_NAME get_rmt_name; 35466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_SET_SERVICE_CLASS set_service; 35566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_SET_ENCRYPTION set_encrypt; 35666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_START_DISCOVERY start_discovery; 35766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_CANCEL_DISCOVERY cancel_discovery; 35866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_GET_SERVICES_LENGTH get_services_length; 35966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_GET_SERVICE_RESULT get_service_result; 36066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_SERVICE_SELECT service_select; 36166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_FREE_SCN free_scn; 36266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_CREATE_RECORD create_record; 36366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_UPDATE_RECORD update_record; 36466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_ADD_ATTRIBUTE add_attr; 36566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_L2CAP_CONNECT l2cap_connect; 36666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_L2CAP_READ l2cap_read; 36766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_L2CAP_WRITE l2cap_write; 36866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_L2CAP_CLOSE l2cap_close; 36966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_L2CAP_SERVER l2cap_server; 37066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_RFCOMM_CONNECT rfcomm_connect; 37166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_RFCOMM_READ rfcomm_read; 37266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_RFCOMM_WRITE rfcomm_write; 37366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_RFCOMM_CLOSE rfcomm_close; 37466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_API_RFCOMM_SERVER rfcomm_server; 37566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_MSG; 37666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 37766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#if SDP_FOR_JV_INCLUDED == TRUE 37866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#define BTA_JV_L2C_FOR_SDP_HDL GAP_MAX_CONNECTIONS 37966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#endif 38066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 38166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* JV control block */ 38266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanitypedef struct 38366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 38466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#if SDP_FOR_JV_INCLUDED == TRUE 38566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 sdp_for_jv; /* The SDP client connection handle */ 38666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 sdp_data_size; /* the data len */ 38766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#endif 38866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani /* the SDP handle reported to JV user is the (index + 1) to sdp_handle[]. 38966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani * if sdp_handle[i]==0, it's not used. 39066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani * otherwise sdp_handle[i] is the stack SDP handle. */ 39166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT32 sdp_handle[BTA_JV_MAX_SDP_REC]; /* SDP records created */ 39266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 *p_sel_raw_data;/* the raw data of last service select */ 39366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani INT32 sel_len; /* the SDP record size of last service select */ 39466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_DM_CBACK *p_dm_cback; 39566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_L2C_CB l2c_cb[BTA_JV_MAX_L2C_CONN]; /* index is GAP handle (index) */ 39666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_RFC_CB rfc_cb[BTA_JV_MAX_RFC_CONN]; 39766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tBTA_JV_PCB port_cb[MAX_RFC_PORTS]; /* index of this array is the port_handle, */ 39866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 sec_id[BTA_JV_NUM_SERVICE_ID]; /* service ID */ 39966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BOOLEAN scn[BTA_JV_MAX_SCN]; /* SCN allocated by java */ 40066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani UINT8 sdp_active; /* see BTA_JV_SDP_ACT_* */ 40166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani tSDP_UUID uuid; /* current uuid of sdp discovery*/ 40266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani void *user_data; /* piggyback user data*/ 40366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani} tBTA_JV_CB; 40466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 40566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryanienum 40666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani{ 40766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_SDP_ACT_NONE = 0, 40866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_SDP_ACT_YES, /* waiting for SDP result */ 40966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani BTA_JV_SDP_ACT_CANCEL /* waiting for cancel complete */ 41066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani}; 41166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 41266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* JV control block */ 41366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#if BTA_DYNAMIC_MEMORY == FALSE 41466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern tBTA_JV_CB bta_jv_cb; 41566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#else 41666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern tBTA_JV_CB *bta_jv_cb_ptr; 41766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#define bta_jv_cb (*bta_jv_cb_ptr) 41866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#endif 41966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 42066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* config struct */ 42166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern tBTA_JV_CFG *p_bta_jv_cfg; 42266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 42366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani/* this is defined in stack/sdp. used by bta jv */ 42466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern UINT8 *sdpu_get_len_from_type (UINT8 *p, UINT8 type, UINT32 *p_len); 42566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 42666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern BOOLEAN bta_jv_sm_execute(BT_HDR *p_msg); 42766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 42866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern UINT32 bta_jv_get_sdp_handle(UINT32 sdp_id); 42966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_enable (tBTA_JV_MSG *p_data); 43066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_disable (tBTA_JV_MSG *p_data); 43166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_set_discoverability (tBTA_JV_MSG *p_data); 43266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_get_local_device_addr (tBTA_JV_MSG *p_data); 43366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_get_local_device_name (tBTA_JV_MSG *p_data); 43466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_get_remote_device_name (tBTA_JV_MSG *p_data); 43566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_set_service_class (tBTA_JV_MSG *p_data); 43666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_set_encryption (tBTA_JV_MSG *p_data); 43766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_get_scn (tBTA_JV_MSG *p_data); 43866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_free_scn (tBTA_JV_MSG *p_data); 43966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_start_discovery (tBTA_JV_MSG *p_data); 44066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_cancel_discovery (tBTA_JV_MSG *p_data); 44166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_get_services_length (tBTA_JV_MSG *p_data); 44266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_service_select (tBTA_JV_MSG *p_data); 44366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_create_record (tBTA_JV_MSG *p_data); 44466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_update_record (tBTA_JV_MSG *p_data); 44566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_add_attribute (tBTA_JV_MSG *p_data); 44666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_delete_attribute (tBTA_JV_MSG *p_data); 44766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_delete_record (tBTA_JV_MSG *p_data); 44866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_l2cap_connect (tBTA_JV_MSG *p_data); 44966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_l2cap_close (tBTA_JV_MSG *p_data); 45066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_l2cap_start_server (tBTA_JV_MSG *p_data); 45166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_l2cap_stop_server (tBTA_JV_MSG *p_data); 45266aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_l2cap_read (tBTA_JV_MSG *p_data); 45366aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_l2cap_write (tBTA_JV_MSG *p_data); 45466aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_rfcomm_connect (tBTA_JV_MSG *p_data); 45566aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_rfcomm_close (tBTA_JV_MSG *p_data); 45666aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_rfcomm_start_server (tBTA_JV_MSG *p_data); 45766aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_rfcomm_stop_server (tBTA_JV_MSG *p_data); 45866aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_rfcomm_read (tBTA_JV_MSG *p_data); 45966aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryaniextern void bta_jv_rfcomm_write (tBTA_JV_MSG *p_data); 46066aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani 46166aa5171e4e7c9f942971a30419c03134e67a4a4Harish Paryani#endif /* BTA_JV_INT_H */ 462