📄 btsdk_macro.h
字号:
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
* Copyright (c) 1999-2007 IVT Corporation
*
* All rights reserved.
*
---------------------------------------------------------------------------*/
/////////////////////////////////////////////////////////////////////////////
// Module Name:
// Btsdk_Macro.h
// Abstract:
// This Module defines macros used by APIs and structures.
// Usage:
// #include "Btsdk_Macro.h"
//
// Author://
//
// Revision History:
// 2007-12-25 Created
//
/////////////////////////////////////////////////////////////////////////////
#ifndef _BTSDK_MACRO_H
#define _BTSDK_MACRO_H
typedef char BTINT8;
typedef unsigned char BTUINT8;
typedef unsigned char BTBOOL;
typedef short BTINT16;
typedef unsigned short BTUINT16;
typedef long BTINT32;
typedef unsigned long BTUINT32;
typedef void * BTLPVOID;
typedef BTUINT32 BTDEVHDL;
typedef BTUINT32 BTSVCHDL;
typedef BTUINT32 BTCONNHDL;
typedef BTUINT32 BTSHCHDL;
typedef BTUINT32 BTSDKHANDLE;
#ifndef FUNC_EXPORT
#define FUNC_EXPORT
#endif
#define BTSDK_TRUE 1
#define BTSDK_FALSE 0
/* Max size value used in service attribute structures */
#define BTSDK_SERVICENAME_MAXLENGTH 80
#define BTSDK_MAX_SUPPORT_FORMAT 6 /* OPP format number */
#define BTSDK_PATH_MAXLENGTH 256 /* Shall not be larger than FTP_MAX_PATH and OPP_MAX_PATH */
#define BTSDK_CARDNAME_MAXLENGTH 256 /* Shall not be larger than OPP_MAX_NAME */
#define BTSDK_PACKETTYPE_MAXNUM 10 /* PAN supported network packet type */
/* Max size value used in device attribute structures */
#define BTSDK_DEVNAME_LEN 64 /* Shall not be larger than MAX_NAME_LEN */
#define BTSDK_SHORTCUT_NAME_LEN 100
#define BTSDK_BDADDR_LEN 6
#define BTSDK_LINKKEY_LEN 16
#define BTSDK_PINCODE_LEN 16
/* Invalid handle value for all handle type */
#define BTSDK_INVALID_HANDLE 0x00000000
/* Error Code List */
#define BTSDK_OK 0x0000
/* SDP error */
#define BTSDK_ER_SDP_INDEX 0x00C0
#define BTSDK_ER_SERVER_IS_ACTIVE (BTSDK_ER_SDP_INDEX + 0x0000)
#define BTSDK_ER_NO_SERVICE (BTSDK_ER_SDP_INDEX + 0x0001)
#define BTSDK_ER_SERVICE_RECORD_NOT_EXIST (BTSDK_ER_SDP_INDEX + 0x0002)
/* General Error */
#define BTSDK_ER_GENERAL_INDEX 0x0300
#define BTSDK_ER_HANDLE_NOT_EXIST (BTSDK_ER_GENERAL_INDEX + 0x0001)
#define BTSDK_ER_OPERATION_FAILURE (BTSDK_ER_GENERAL_INDEX + 0x0002)
#define BTSDK_ER_SDK_UNINIT (BTSDK_ER_GENERAL_INDEX + 0x0003)
#define BTSDK_ER_INVALID_PARAMETER (BTSDK_ER_GENERAL_INDEX + 0x0004)
#define BTSDK_ER_NULL_POINTER (BTSDK_ER_GENERAL_INDEX + 0x0005)
#define BTSDK_ER_NO_MEMORY (BTSDK_ER_GENERAL_INDEX + 0x0006)
#define BTSDK_ER_BUFFER_NOT_ENOUGH (BTSDK_ER_GENERAL_INDEX + 0x0007)
#define BTSDK_ER_FUNCTION_NOTSUPPORT (BTSDK_ER_GENERAL_INDEX + 0x0008)
#define BTSDK_ER_NO_FIXED_PIN_CODE (BTSDK_ER_GENERAL_INDEX + 0x0009)
#define BTSDK_ER_CONNECTION_EXIST (BTSDK_ER_GENERAL_INDEX + 0x000A)
#define BTSDK_ER_OPERATION_CONFLICT (BTSDK_ER_GENERAL_INDEX + 0x000B)
#define BTSDK_ER_NO_MORE_CONNECTION_ALLOWED (BTSDK_ER_GENERAL_INDEX + 0x000C)
#define BTSDK_ER_ITEM_EXIST (BTSDK_ER_GENERAL_INDEX + 0x000D)
#define BTSDK_ER_ITEM_INUSE (BTSDK_ER_GENERAL_INDEX + 0x000E)
#define BTSDK_ER_DEVICE_UNPAIRED (BTSDK_ER_GENERAL_INDEX + 0x000F)
/* HCI Error */
#define BTSDK_ER_HCI_INDEX 0x0400
#define BTSDK_ER_UNKNOWN_HCI_COMMAND (BTSDK_ER_HCI_INDEX + 0x0001)
#define BTSDK_ER_NO_CONNECTION (BTSDK_ER_HCI_INDEX + 0x0002)
#define BTSDK_ER_HARDWARE_FAILURE (BTSDK_ER_HCI_INDEX + 0x0003)
#define BTSDK_ER_PAGE_TIMEOUT (BTSDK_ER_HCI_INDEX + 0x0004)
#define BTSDK_ER_AUTHENTICATION_FAILURE (BTSDK_ER_HCI_INDEX + 0x0005)
#define BTSDK_ER_KEY_MISSING (BTSDK_ER_HCI_INDEX + 0x0006)
#define BTSDK_ER_MEMORY_FULL (BTSDK_ER_HCI_INDEX + 0x0007)
#define BTSDK_ER_CONNECTION_TIMEOUT (BTSDK_ER_HCI_INDEX + 0x0008)
#define BTSDK_ER_MAX_NUMBER_OF_CONNECTIONS (BTSDK_ER_HCI_INDEX + 0x0009)
#define BTSDK_ER_MAX_NUMBER_OF_SCO_CONNECTIONS (BTSDK_ER_HCI_INDEX + 0x000A)
#define BTSDK_ER_ACL_CONNECTION_ALREADY_EXISTS (BTSDK_ER_HCI_INDEX + 0x000B)
#define BTSDK_ER_COMMAND_DISALLOWED (BTSDK_ER_HCI_INDEX + 0x000C)
#define BTSDK_ER_HOST_REJECTED_LIMITED_RESOURCES (BTSDK_ER_HCI_INDEX + 0x000D)
#define BTSDK_ER_HOST_REJECTED_SECURITY_REASONS (BTSDK_ER_HCI_INDEX + 0x000E)
#define BTSDK_ER_HOST_REJECTED_PERSONAL_DEVICE (BTSDK_ER_HCI_INDEX + 0x000F)
#define BTSDK_ER_HOST_TIMEOUT (BTSDK_ER_HCI_INDEX + 0x0010)
#define BTSDK_ER_UNSUPPORTED_FEATURE (BTSDK_ER_HCI_INDEX + 0x0011)
#define BTSDK_ER_INVALID_HCI_COMMAND_PARAMETERS (BTSDK_ER_HCI_INDEX + 0x0012)
#define BTSDK_ER_PEER_DISCONNECTION_USER_END (BTSDK_ER_HCI_INDEX + 0x0013)
#define BTSDK_ER_PEER_DISCONNECTION_LOW_RESOURCES (BTSDK_ER_HCI_INDEX + 0x0014)
#define BTSDK_ER_PEER_DISCONNECTION_TO_POWER_OFF (BTSDK_ER_HCI_INDEX + 0x0015)
#define BTSDK_ER_LOCAL_DISCONNECTION (BTSDK_ER_HCI_INDEX + 0x0016)
#define BTSDK_ER_REPEATED_ATTEMPTS (BTSDK_ER_HCI_INDEX + 0x0017)
#define BTSDK_ER_PAIRING_NOT_ALLOWED (BTSDK_ER_HCI_INDEX + 0x0018)
#define BTSDK_ER_UNKNOWN_LMP_PDU (BTSDK_ER_HCI_INDEX + 0x0019)
#define BTSDK_ER_UNSUPPORTED_REMOTE_FEATURE (BTSDK_ER_HCI_INDEX + 0x001A)
#define BTSDK_ER_SCO_OFFSET_REJECTED (BTSDK_ER_HCI_INDEX + 0x001B)
#define BTSDK_ER_SCO_INTERVAL_REJECTED (BTSDK_ER_HCI_INDEX + 0x001C)
#define BTSDK_ER_SCO_AIR_MODE_REJECTED (BTSDK_ER_HCI_INDEX + 0x001D)
#define BTSDK_ER_INVALID_LMP_PARAMETERS (BTSDK_ER_HCI_INDEX + 0x001E)
#define BTSDK_ER_UNSPECIFIED_ERROR (BTSDK_ER_HCI_INDEX + 0x001F)
#define BTSDK_ER_UNSUPPORTED_LMP_PARAMETER_VALUE (BTSDK_ER_HCI_INDEX + 0x0020)
#define BTSDK_ER_ROLE_CHANGE_NOT_ALLOWED (BTSDK_ER_HCI_INDEX + 0x0021)
#define BTSDK_ER_LMP_RESPONSE_TIMEOUT (BTSDK_ER_HCI_INDEX + 0x0022)
#define BTSDK_ER_LMP_ERROR_TRANSACTION_COLLISION (BTSDK_ER_HCI_INDEX + 0x0023)
#define BTSDK_ER_LMP_PDU_NOT_ALLOWED (BTSDK_ER_HCI_INDEX + 0x0024)
#define BTSDK_ER_ENCRYPTION_MODE_NOT_ACCEPTABLE (BTSDK_ER_HCI_INDEX + 0x0025)
#define BTSDK_ER_UNIT_KEY_USED (BTSDK_ER_HCI_INDEX + 0x0026)
#define BTSDK_ER_QOS_IS_NOT_SUPPORTED (BTSDK_ER_HCI_INDEX + 0x0027)
#define BTSDK_ER_INSTANT_PASSED (BTSDK_ER_HCI_INDEX + 0x0028)
#define BTSDK_ER_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED (BTSDK_ER_HCI_INDEX + 0x0029)
#define BTSDK_ER_DIFFERENT_TRANSACTION_COLLISION (BTSDK_ER_HCI_INDEX + 0x002A)
#define BTSDK_ER_QOS_UNACCEPTABLE_PARAMETER (BTSDK_ER_HCI_INDEX + 0x002C)
#define BTSDK_ER_QOS_REJECTED (BTSDK_ER_HCI_INDEX + 0x002D)
#define BTSDK_ER_CHANNEL_CLASS_NOT_SUPPORTED (BTSDK_ER_HCI_INDEX + 0x002E)
#define BTSDK_ER_INSUFFICIENT_SECURITY (BTSDK_ER_HCI_INDEX + 0x002F)
#define BTSDK_ER_PARAMETER_OUT_OF_RANGE (BTSDK_ER_HCI_INDEX + 0x0030)
#define BTSDK_ER_ROLE_SWITCH_PENDING (BTSDK_ER_HCI_INDEX + 0x0032)
#define BTSDK_ER_RESERVED_SLOT_VIOLATION (BTSDK_ER_HCI_INDEX + 0x0034)
#define BTSDK_ER_ROLE_SWITCH_FAILED (BTSDK_ER_HCI_INDEX + 0x0035)
/* OBEX error */
#define BTSDK_ER_OBEX_INDEX 0x0600
#define BTSDK_ER_CONTINUE (BTSDK_ER_OBEX_INDEX + 0x0090)
#define BTSDK_ER_SUCCESS (BTSDK_ER_OBEX_INDEX + 0x00A0)
#define BTSDK_ER_CREATED (BTSDK_ER_OBEX_INDEX + 0x00A1)
#define BTSDK_ER_ACCEPTED (BTSDK_ER_OBEX_INDEX + 0x00A2)
#define BTSDK_ER_NON_AUTH_INFO (BTSDK_ER_OBEX_INDEX + 0x00A3)
#define BTSDK_ER_NO_CONTENT (BTSDK_ER_OBEX_INDEX + 0x00A4)
#define BTSDK_ER_RESET_CONTENT (BTSDK_ER_OBEX_INDEX + 0x00A5)
#define BTSDK_ER_PARTIAL_CONTENT (BTSDK_ER_OBEX_INDEX + 0x00A6)
#define BTSDK_ER_MULT_CHOICES (BTSDK_ER_OBEX_INDEX + 0x00B0)
#define BTSDK_ER_MOVE_PERM (BTSDK_ER_OBEX_INDEX + 0x00B1)
#define BTSDK_ER_MOVE_TEMP (BTSDK_ER_OBEX_INDEX + 0x00B2)
#define BTSDK_ER_SEE_OTHER (BTSDK_ER_OBEX_INDEX + 0x00B3)
#define BTSDK_ER_NOT_MODIFIED (BTSDK_ER_OBEX_INDEX + 0x00B4)
#define BTSDK_ER_USE_PROXY (BTSDK_ER_OBEX_INDEX + 0x00B5)
#define BTSDK_ER_BAD_REQUEST (BTSDK_ER_OBEX_INDEX + 0x00C0)
#define BTSDK_ER_UNAUTHORIZED (BTSDK_ER_OBEX_INDEX + 0x00C1)
#define BTSDK_ER_PAY_REQ (BTSDK_ER_OBEX_INDEX + 0x00C2)
#define BTSDK_ER_FORBIDDEN (BTSDK_ER_OBEX_INDEX + 0x00C3)
#define BTSDK_ER_NOTFOUND (BTSDK_ER_OBEX_INDEX + 0x00C4)
#define BTSDK_ER_METHOD_NOT_ALLOWED (BTSDK_ER_OBEX_INDEX + 0x00C5)
#define BTSDK_ER_NOT_ACCEPTABLE (BTSDK_ER_OBEX_INDEX + 0x00C6)
#define BTSDK_ER_PROXY_AUTH_REQ (BTSDK_ER_OBEX_INDEX + 0x00C7)
#define BTSDK_ER_REQUEST_TIMEOUT (BTSDK_ER_OBEX_INDEX + 0x00C8)
#define BTSDK_ER_CONFLICT (BTSDK_ER_OBEX_INDEX + 0x00C9)
#define BTSDK_ER_GONE (BTSDK_ER_OBEX_INDEX + 0x00CA)
#define BTSDK_ER_LEN_REQ (BTSDK_ER_OBEX_INDEX + 0x00CB)
#define BTSDK_ER_PREC_FAIL (BTSDK_ER_OBEX_INDEX + 0x00CC)
#define BTSDK_ER_REQ_ENTITY_TOO_LARGE (BTSDK_ER_OBEX_INDEX + 0x00CD)
#define BTSDK_ER_URL_TOO_LARGE (BTSDK_ER_OBEX_INDEX + 0x00CE)
#define BTSDK_ER_UNSUPPORTED_MEDIA_TYPE (BTSDK_ER_OBEX_INDEX + 0x00CF)
#define BTSDK_ER_SVR_ERR (BTSDK_ER_OBEX_INDEX + 0x00D0)
#define BTSDK_ER_NOTIMPLEMENTED (BTSDK_ER_OBEX_INDEX + 0x00D1)
#define BTSDK_ER_BAD_GATEWAY (BTSDK_ER_OBEX_INDEX + 0x00D2)
#define BTSDK_ER_SERVICE_UNAVAILABLE (BTSDK_ER_OBEX_INDEX + 0x00D3)
#define BTSDK_ER_GATEWAY_TIMEOUT (BTSDK_ER_OBEX_INDEX + 0x00D4)
#define BTSDK_ER_HTTP_NOTSUPPORT (BTSDK_ER_OBEX_INDEX + 0x00D5)
#define BTSDK_ER_DATABASE_FULL (BTSDK_ER_OBEX_INDEX + 0x00E0)
#define BTSDK_ER_DATABASE_LOCK (BTSDK_ER_OBEX_INDEX + 0x00E1)
/* Class of Device */
/*major service classes*/
#define BTSDK_SRVCLS_LDM 0x002000 /* Limited Discoverable Mode */
#define BTSDK_SRVCLS_POSITION 0x010000
#define BTSDK_SRVCLS_NETWORK 0x020000
#define BTSDK_SRVCLS_RENDER 0x040000
#define BTSDK_SRVCLS_CAPTURE 0x080000
#define BTSDK_SRVCLS_OBJECT 0x100000
#define BTSDK_SRVCLS_AUDIO 0x200000
#define BTSDK_SRVCLS_TELEPHONE 0x400000
#define BTSDK_SRVCLS_INFOR 0x800000
#define BTSDK_SRVCLS_MASK(a) (((BTUINT32)(a) >> 13) & 0x7FF)
/*major device classes*/
#define BTSDK_DEVCLS_MISC 0x000000
#define BTSDK_DEVCLS_COMPUTER 0x000100
#define BTSDK_DEVCLS_PHONE 0x000200
#define BTSDK_DEVCLS_LAP 0x000300
#define BTSDK_DEVCLS_AUDIO 0x000400
#define BTSDK_DEVCLS_PERIPHERAL 0x000500
#define BTSDK_DEVCLS_IMAGE 0x000600
#define BTSDK_DEVCLS_WEARABLE 0x000700
#define BTSDK_DEVCLS_UNCLASSIFIED 0x001F00
#define BTSDK_DEVCLS_MASK(a) (((BTUINT32)(a) >> 8) & 0x1F)
#define BTSDK_MINDEVCLS_MASK(a) (((BTUINT32)(a) >> 2) & 0x3F)
/*the minor device class field - computer major class */
#define BTSDK_COMPCLS_UNCLASSIFIED (BTSDK_DEVCLS_COMPUTER | 0x000000)
#define BTSDK_COMPCLS_DESKTOP (BTSDK_DEVCLS_COMPUTER | 0x000004)
#define BTSDK_COMPCLS_SERVER (BTSDK_DEVCLS_COMPUTER | 0x000008)
#define BTSDK_COMPCLS_LAPTOP (BTSDK_DEVCLS_COMPUTER | 0x00000C)
#define BTSDK_COMPCLS_HANDHELD (BTSDK_DEVCLS_COMPUTER | 0x000010)
#define BTSDK_COMPCLS_PALMSIZED (BTSDK_DEVCLS_COMPUTER | 0x000014)
#define BTSDK_COMPCLS_WEARABLE (BTSDK_DEVCLS_COMPUTER | 0x000018)
/*the minor device class field - phone major class*/
#define BTSDK_PHONECLS_UNCLASSIFIED (BTSDK_DEVCLS_PHONE | 0x000000)
#define BTSDK_PHONECLS_CELLULAR (BTSDK_DEVCLS_PHONE | 0x000004)
#define BTSDK_PHONECLS_CORDLESS (BTSDK_DEVCLS_PHONE | 0x000008)
#define BTSDK_PHONECLS_SMARTPHONE (BTSDK_DEVCLS_PHONE | 0x00000C)
#define BTSDK_PHONECLS_WIREDMODEM (BTSDK_DEVCLS_PHONE | 0x000010)
#define BTSDK_PHONECLS_COMMONISDNACCESS (BTSDK_DEVCLS_PHONE | 0x000014)
#define BTSDK_PHONECLS_SIMCARDREADER (BTSDK_DEVCLS_PHONE | 0x000018)
/*the minor device class field - LAN/Network access point major class*/
#define BTSDK_LAP_FULLY (BTSDK_DEVCLS_LAP | 0x000000)
#define BTSDK_LAP_17 (BTSDK_DEVCLS_LAP | 0x000020)
#define BTSDK_LAP_33 (BTSDK_DEVCLS_LAP | 0x000040)
#define BTSDK_LAP_50 (BTSDK_DEVCLS_LAP | 0x000060)
#define BTSDK_LAP_67 (BTSDK_DEVCLS_LAP | 0x000080)
#define BTSDK_LAP_83 (BTSDK_DEVCLS_LAP | 0x0000A0)
#define BTSDK_LAP_99 (BTSDK_DEVCLS_LAP | 0x0000C0)
#define BTSDK_LAP_NOSRV (BTSDK_DEVCLS_LAP | 0x0000E0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -