📄 btsdk_api.h
字号:
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
* Copyright (c) 1999-2007 IVT Corporation
*
* All rights reserved.
*
---------------------------------------------------------------------------*/
/////////////////////////////////////////////////////////////////////////////
// Module Name:
// SDK_API.h
// Abstract:
// This module defines exported BlueSoleil SDK API prototypes.
// Usage:
// #include "SDK_API.h"
//
// Author://
//
// Revision History:
// 2007-12-25 Created
//
/////////////////////////////////////////////////////////////////////////////
#ifndef _BTSDK_API_H
#define _BTSDK_API_H
/*************** Function Prototype ******************/
/* Initialization and Termination */
typedef void Func_ReceiveBluetoothStatusInfo(ULONG usMsgType, ULONG pulData, ULONG param, BTUINT8 *arg);
BTINT32 Btsdk_Init(void);
BTINT32 Btsdk_Done(void);
BTBOOL Btsdk_IsSDKInitialized(void);
BTBOOL Btsdk_IsServerConnected();
BTINT32 Btsdk_RegisterGetStatusInfoCB4ThirdParty(Func_ReceiveBluetoothStatusInfo* statusCBK);
BTINT32 Btsdk_RegisterCallback4ThirdParty(BtSdkCallbackStru* call_back);
BTINT32 Btsdk_SetStatusInfoFlag(USHORT usMsgType);
/* Memory Management */
void *Btsdk_MallocMemory(BTUINT32 size);
void Btsdk_FreeMemory(void *memblock);
/* Local Bluetooth Device Initialization */
BTINT32 Btsdk_StartBluetooth(void);
BTINT32 Btsdk_StopBluetooth(void);
BTBOOL Btsdk_IsBluetoothReady(void);
BTBOOL Btsdk_IsBluetoothHardwareExisted();
/* Local Device Mode */
BTINT32 Btsdk_SetDiscoveryMode(BTUINT16 mode);
BTINT32 Btsdk_GetDiscoveryMode(BTUINT16 *mode);
/* Local Device Information */
BTINT32 Btsdk_GetLocalDeviceAddress(BTUINT8 *bd_addr);
BTINT32 Btsdk_SetLocalName(BTUINT8* name, BTUINT16 len);
BTINT32 Btsdk_GetLocalName(BTUINT8* name, BTUINT16 *len);
BTINT32 Btsdk_SetLocalDeviceClass(BTUINT32 device_class);
BTINT32 Btsdk_GetLocalDeviceClass(BTUINT32 *device_class);
BTINT32 Btsdk_GetLocalLMPInfo(BtSdkLocalLMPInfoStru *lmp_info);
/* Local Device Application Extension */
BTINT32 Btsdk_VendorCommand(BTUINT32 ev_flag, PBtSdkVendorCmdStru in_cmd, PBtSdkEventParamStru out_ev);
BTUINT32 Btsdk_EnumAVDriver();
void Btsdk_DeEnumAVDriver();
/* Remote Device Discovery */
FUNC_EXPORT BTINT32 Btsdk_StartDeviceDiscovery(BTUINT32 device_class, BTUINT16 max_num, BTUINT16 max_seconds);
typedef void (Btsdk_Inquiry_Result_Ind_Func)(BTDEVHDL dev_hdl);
typedef void (Btsdk_Inquiry_Complete_Ind_Func)(void);
FUNC_EXPORT BTINT32 Btsdk_StopDeviceDiscovery(void);
FUNC_EXPORT BTINT32 Btsdk_UpdateRemoteDeviceName(BTDEVHDL dev_hdl, BTUINT8 *name, BTUINT16 *plen);
FUNC_EXPORT BTINT32 Btsdk_CancelUpdateRemoteDeviceName(BTDEVHDL dev_hdl);
/* Device Pairing */
FUNC_EXPORT BTINT32 Btsdk_IsDevicePaired(BTDEVHDL dev_hdl, BTBOOL *pis_paired);
FUNC_EXPORT BTINT32 Btsdk_PairDevice(BTDEVHDL dev_hdl);
FUNC_EXPORT BTINT32 Btsdk_UnPairDevice(BTDEVHDL dev_hdl);
/* Link Management */
FUNC_EXPORT BTBOOL Btsdk_IsDeviceConnected(BTDEVHDL dev_hdl);
FUNC_EXPORT BTINT32 Btsdk_GetRemoteDeviceRole(BTDEVHDL dev_hdl, BTUINT16 *prole);
FUNC_EXPORT BTINT32 Btsdk_GetRemoteLMPInfo(BTDEVHDL dev_hdl, BtSdkRemoteLMPInfoStru *info);
FUNC_EXPORT BTINT32 Btsdk_GetRemoteRSSI(BTDEVHDL dev_hdl, BTINT8* prssi);
FUNC_EXPORT BTINT32 Btsdk_GetRemoteLinkQuality(BTDEVHDL dev_hdl, BTUINT16 *plink_quality);
FUNC_EXPORT BTINT32 Btsdk_GetSupervisionTimeout(BTDEVHDL dev_hdl, BTUINT16 *ptimeout);
FUNC_EXPORT BTINT32 Btsdk_SetSupervisionTimeout(BTDEVHDL dev_hdl, BTUINT16 timeout);
FUNC_EXPORT BTINT32 Btsdk_ChangeConnectionPacketType(BTDEVHDL dev_hdl, BTUINT16 packet_type);
/* Remote Device Database Management */
FUNC_EXPORT BTDEVHDL Btsdk_GetRemoteDeviceHandle(BTUINT8 *bd_addr);
FUNC_EXPORT BTDEVHDL Btsdk_AddRemoteDevice(BTUINT8 *bd_addr);
FUNC_EXPORT BTINT32 Btsdk_DeleteRemoteDeviceByHandle(BTDEVHDL dev_hdl);
FUNC_EXPORT BTINT32 Btsdk_DeleteUnpairedDevicesByClass(BTUINT32 device_class);
FUNC_EXPORT BTUINT32 Btsdk_GetStoredDevicesByClass(BTUINT32 dev_class, BTDEVHDL *pdev_hdl, BTUINT32 max_dev_num);
FUNC_EXPORT BTUINT32 Btsdk_GetInquiredDevices(BTDEVHDL *pdev_hdl, BTUINT32 max_dev_num);
FUNC_EXPORT BTUINT32 Btsdk_GetPairedDevices(BTDEVHDL *pdev_hdl, BTUINT32 max_dev_num);
FUNC_EXPORT BTSDKHANDLE Btsdk_StartEnumRemoteDevice(BTUINT32 flag, BTUINT32 dev_class);
FUNC_EXPORT BTDEVHDL Btsdk_EnumRemoteDevice(BTSDKHANDLE enum_handle, PBtSdkRemoteDevicePropertyStru rmt_dev_prop);
FUNC_EXPORT BTINT32 Btsdk_EndEnumRemoteDevice(BTSDKHANDLE enum_handle);
FUNC_EXPORT BTINT32 Btsdk_GetRemoteDeviceAddress(BTDEVHDL dev_hdl, BTUINT8 *bd_addr);
FUNC_EXPORT BTINT32 Btsdk_GetRemoteDeviceName(BTDEVHDL dev_hdl, BTUINT8 *name, BTUINT16 *plen);
FUNC_EXPORT BTINT32 Btsdk_GetRemoteDeviceClass(BTDEVHDL dev_hdl, BTUINT32 *pdevice_class);
FUNC_EXPORT BTINT32 Btsdk_GetRemoteDeviceProperty(BTDEVHDL dev_hdl, PBtSdkRemoteDevicePropertyStru rmt_dev_prop);
FUNC_EXPORT BTINT32 Btsdk_RemoteDeviceFlowStatistic(BTDEVHDL dev_hdl, BTUINT32* rx_bytes, BTUINT32* tx_bytes);
/* Service Discovery */
BTINT32 Btsdk_BrowseRemoteServicesEx(BTDEVHDL dev_hdl, PBtSdkSDPSearchPatternStru psch_ptn, BTUINT32 ptn_num, BTSVCHDL *svc_hdl, BTUINT32 *svc_count);
BTINT32 Btsdk_BrowseRemoteServices(BTDEVHDL dev_hdl, BTSVCHDL *svc_hdl, BTUINT32 *svc_count);
BTINT32 Btsdk_RefreshRemoteServiceAttributes(BTSVCHDL svc_hdl, BtSdkRemoteServiceAttrStru *attribute);
BTINT32 Btsdk_GetRemoteServicesEx(BTDEVHDL dev_hdl, PBtSdkSDPSearchPatternStru psch_ptn, BTUINT32 ptn_num, BTSVCHDL *svc_hdl, BTUINT32 *svc_count);
BTINT32 Btsdk_GetRemoteServices(BTDEVHDL dev_hdl, BTSVCHDL *svc_hdl, BTUINT32 *svc_count);
BTINT32 Btsdk_GetRemoteServiceAttributes(BTSVCHDL svc_hdl, BtSdkRemoteServiceAttrStru *attribute);
BTSDKHANDLE Btsdk_StartEnumRemoteService(BTDEVHDL dev_hdl);
BTSVCHDL Btsdk_EnumRemoteService(BTSDKHANDLE enum_handle, PBtSdkRemoteServiceAttrStru attribute);
BTINT32 Btsdk_EndEnumRemoteService(BTSDKHANDLE enum_handle);
/* Connection Management Application Extension */
BTINT32 Btsdk_SetRemoteServiceParam(BTSVCHDL svc_hdl, BTUINT32 app_param);
BTINT32 Btsdk_GetRemoteServiceParam(BTSVCHDL svc_hdl, BTUINT32 *papp_param);
/* Connection Establishment */
FUNC_EXPORT BTINT32 Btsdk_Connect(BTSVCHDL svc_hdl, BTUINT32 lParam, BTCONNHDL *conn_hdl);
FUNC_EXPORT BTINT32 Btsdk_ConnectEx(BTDEVHDL dev_hdl, BTUINT16 service_class, BTUINT32 lParam, BTCONNHDL *conn_hdl);
typedef void (Btsdk_Connection_Event_Ind_Func)(BTCONNHDL conn_hdl, BTUINT16 event, BTUINT8 *arg);
/* Connection Database Management */
FUNC_EXPORT BTINT32 Btsdk_GetConnectionProperty(BTCONNHDL conn_hdl, PBtSdkConnectionPropertyStru conn_prop);
FUNC_EXPORT BTSDKHANDLE Btsdk_StartEnumConnection(void);
FUNC_EXPORT BTCONNHDL Btsdk_EnumConnection(BTSDKHANDLE enum_handle, PBtSdkConnectionPropertyStru conn_prop);
FUNC_EXPORT BTINT32 Btsdk_EndEnumConnection(BTSDKHANDLE enum_handle);
/* Connection Release */
FUNC_EXPORT BTINT32 Btsdk_Disconnect(BTCONNHDL handle);
/* BlueSoleil Extend APIs */
BTUINT32 Btsdk_VDIInstallDev(BTINT8 *HardwareID, BTINT8 *COMName);
BTUINT32 Btsdk_VDIDelModem( BTINT8 *COMName);
/*
File Transfer Profile
*/
/*Register a function for transfering file status
first: [in]first callback flag
last: [in]last callback flag
filename: [in]file name, only valid when first flag is set.
filesize: [in]total transfer file size, only valid when first flag is set.
cursize: [in]current transfer size
*/
typedef void (Btsdk_FTP_STATUS_INFO_CB)(BTUINT8 first, BTUINT8 last, BTUINT8* filename, BTUINT32 filesize, BTUINT32 cursize);
void Btsdk_FTPRegisterStatusCallback4ThirdParty(BTCONNHDL conn_hdl, Btsdk_FTP_STATUS_INFO_CB *func);
/* FTP Server */
typedef BTBOOL (BTSDK_FTP_UIDealReceiveFile)(PBtSdkFileTransferReqStru pFileInfo);
void Btsdk_FTPRegisterDealReceiveFileCB4ThirdParty(BTSDK_FTP_UIDealReceiveFile* func);
/* FTP Client */
typedef void (BTSDK_FTP_UIShowBrowseFile)(BTUINT8* SYS_FIND_DATA);
BTINT32 Btsdk_FTPBrowseFolder(BTCONNHDL conn_hdl, BTUINT8 *szPath, BTSDK_FTP_UIShowBrowseFile* pShowFunc, BTUINT8 op_type);
BTINT32 Btsdk_FTPSetRmtDir(BTCONNHDL conn_hdl,BTUINT8 *szDir);
BTINT32 Btsdk_FTPGetRmtDir(BTCONNHDL conn_hdl,BTUINT8 *szDir);
BTINT32 Btsdk_FTPCreateDir(BTCONNHDL conn_hdl,BTINT8 *szDir);
BTINT32 Btsdk_FTPDeleteDir(BTCONNHDL conn_hdl,BTINT8 *szDir);
BTINT32 Btsdk_FTPDeleteFile(BTCONNHDL conn_hdl,BTINT8 *szDir);
BTINT32 Btsdk_FTPCancelTransfer(BTCONNHDL conn_hdl);
BTINT32 Btsdk_FTPPutDir(BTCONNHDL conn_hdl, BTUINT8 *loc_dir, BTUINT8 *new_dir);
BTINT32 Btsdk_FTPPutFile(BTCONNHDL conn_hdl, BTUINT8 *loc_file, BTUINT8 *new_file);
BTINT32 Btsdk_FTPGetDir(BTCONNHDL conn_hdl, BTUINT8 *rem_dir, BTUINT8 *new_dir);
BTINT32 Btsdk_FTPGetFile(BTCONNHDL conn_hdl, BTUINT8 *rem_file, BTUINT8 *new_file);
BTBOOL Btsdk_FTPBackDir(BTCONNHDL conn_hdl);
/*
Object Push Profile
*/
typedef void (Btsdk_OPP_STATUS_INFO_CB)(BTUINT8 first, BTUINT8 last, BTUINT8* filename, BTUINT32 filesize, BTUINT32 cursize);
void Btsdk_OPPRegisterStatusCallback4ThirdParty(BTCONNHDL conn_hdl, Btsdk_OPP_STATUS_INFO_CB *func);
/* Register a function for transfering file status
first: [in]first callback flag
last: [in]last callback flag
filename: [in]file name, only valid when first flag is setted.
filesize: [in]total transfer file size, only valid when first flag is setted.
cursize: [in]current transfer size
*/
/* OPP Server */
typedef BTBOOL (BTSDK_OPP_UIDealReceiveFile)(PBtSdkFileTransferReqStru pFileInfo);
void Btsdk_OPPRegisterDealReceiveFileCB4ThirdParty(BTSDK_OPP_UIDealReceiveFile* func);
/* Register a function for uploading file request from remote device.
pFileInfo [in/out] Specify the information of the file uploaded or to be uploaded.
When input pFileInfo->flag is set to BTSDK_ER_CONTINUE, following operation is allowed:
(1)If the application wants to save the file using a different name, copy the
new file name to pFileInfo->file_name.
(2)If the application wants to reject the file uploading request, change pFileInfo->flag
to one of OBEX error code except for BTSDK_ER_CONTINUE and BTSDK_ER_SUCCESS.
(3)If the application allow to save the file, just keep pFileInfo->flag unchanged.
return value is ignored.
*/
/* OPP Client */
BTINT32 Btsdk_OPPCancelTransfer(BTCONNHDL conn_hdl);
BTINT32 Btsdk_OPPPushObj(BTCONNHDL conn_hdl,BTUINT8 *szPushFilePath);
BTINT32 Btsdk_OPPPullObj(BTCONNHDL conn_hdl,BTUINT8 *szPullFilePath);
BTINT32 Btsdk_OPPExchangeObj(BTCONNHDL conn_hdl,BTUINT8 *szPushFilePath,BTUINT8 *szPullFilePath,BTINT32 *npushError, BTINT32 *npullError);
/* Personal Area Networking Profile */
typedef void (Btsdk_PAN_Event_Ind_Func)(BTUINT16 event, BTUINT16 len, BTUINT8 *param);
void Btsdk_PAN_RegIndCbk4ThirdParty(Btsdk_PAN_Event_Ind_Func *pfunc);
/*
Audio/Video Remote Control Profile
*/
/*AVRCP pass through cmd process callback function type*/
typedef void (Btsdk_AVRCP_PassThr_Cmd_Func)(BTUINT8 op_id, BTUINT8 state_flag);
/* AVRCP Target (TG) */
void Btsdk_AVRCP_RegPassThrCmdCbk4ThirdParty(Btsdk_AVRCP_PassThr_Cmd_Func *pfunc);
/* AVRCP event processing callback function type */
typedef void (Btsdk_AVRCP_Event_Ind_Func)(BTUINT16 event, BTUINT8 *param);
void Btsdk_AVRCP_RegIndCbk4ThirdParty(Btsdk_AVRCP_Event_Ind_Func * pfunc);
/*
Serial Port Profile
*/
BTINT32 Btsdk_InitCommObj(BTUINT8 com_idx, BTUINT16 svc_class);
BTINT32 Btsdk_DeinitCommObj(BTUINT8 com_idx);
FUNC_EXPORT BTINT16 Btsdk_GetClientPort(BTCONNHDL conn_hdl);
BTUINT8 Btsdk_GetAvailableExtSPPCOMPort();
BTUINT32 Btsdk_SearchAppExtSPPService(BTDEVHDL dev_hdl, PBtSdkAppExtSPPAttrStru psvc);
BTUINT32 Btsdk_ConnectAppExtSPPService(BTDEVHDL dev_hdl, PBtSdkAppExtSPPAttrStru psvc, BTCONNHDL *conn_hdl);
BTUINT32 Btsdk_CommNumToSerialNum(int comportNum);
void Btsdk_PlugOutVComm(UINT serialNum, ULONG flag);
BOOL Btsdk_PlugInVComm(UINT serialNum, ULONG *comportNumber, UINT usageType, ULONG flag, DWORD dwTimeout);
BTUINT32 Btsdk_GetASerialNum();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -