/****************************************************************************** * * Copyright (C) 2002-2012 Broadcom Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************//* ... *//****************************************************************************** * * This file contains HID protocol definitions * ******************************************************************************//* ... */#ifndefHIDDEFS_H#defineHIDDEFS_H#include"common/bt_target.h"#if(HID_HOST_INCLUDED==TRUE||HID_DEV_INCLUDED==TRUE)#if(SDP_INCLUDED==TRUE)#include"stack/sdp_api.h"#endif///SDP_INCLUDED == TRUE/*** tHID_STATUS: HID result codes, returned by HID and device and host functions.*//* ... */enum{HID_SUCCESS,HID_ERR_NOT_REGISTERED,HID_ERR_ALREADY_REGISTERED,HID_ERR_NO_RESOURCES,HID_ERR_NO_CONNECTION,HID_ERR_INVALID_PARAM,HID_ERR_UNSUPPORTED,HID_ERR_UNKNOWN_COMMAND,HID_ERR_CONGESTED,HID_ERR_CONN_IN_PROCESS,HID_ERR_ALREADY_CONN,HID_ERR_DISCONNECTING,HID_ERR_SET_CONNABLE_FAIL,/* Device specific error codes */HID_ERR_HOST_UNKNOWN,HID_ERR_L2CAP_FAILED,HID_ERR_AUTH_FAILED,HID_ERR_SDP_BUSY,HID_ERR_GATT,HID_ERR_INVALID=0xFF}{...};typedefUINT8tHID_STATUS;#defineHID_L2CAP_CONN_FAIL(0x0100)/* Connection Attempt was made but failed */#defineHID_L2CAP_REQ_FAIL(0x0200)/* L2CAP_ConnectReq API failed */#defineHID_L2CAP_CFG_FAIL(0x0400)/* L2CAP Configuration was rejected by peer *//* Define the HID transaction types*//* ... */#defineHID_TRANS_HANDSHAKE(0)#defineHID_TRANS_CONTROL(1)#defineHID_TRANS_GET_REPORT(4)#defineHID_TRANS_SET_REPORT(5)#defineHID_TRANS_GET_PROTOCOL(6)#defineHID_TRANS_SET_PROTOCOL(7)#defineHID_TRANS_GET_IDLE(8)#defineHID_TRANS_SET_IDLE(9)#defineHID_TRANS_DATA(10)#defineHID_TRANS_DATAC(11)#defineHID_GET_TRANS_FROM_HDR(x)((x>>4)&0x0f)#defineHID_GET_PARAM_FROM_HDR(x)(x&0x0f)#defineHID_BUILD_HDR(t,p)(UINT8)((t<<4)|(p&0x0f))/* Parameters for Handshake*//* ... */#defineHID_PAR_HANDSHAKE_RSP_SUCCESS(0)#defineHID_PAR_HANDSHAKE_RSP_NOT_READY(1)#defineHID_PAR_HANDSHAKE_RSP_ERR_INVALID_REP_ID(2)#defineHID_PAR_HANDSHAKE_RSP_ERR_UNSUPPORTED_REQ(3)#defineHID_PAR_HANDSHAKE_RSP_ERR_INVALID_PARAM(4)#defineHID_PAR_HANDSHAKE_RSP_ERR_UNKNOWN(14)#defineHID_PAR_HANDSHAKE_RSP_ERR_FATAL(15)/* Parameters for Control*//* ... */#defineHID_PAR_CONTROL_NOP(0)#defineHID_PAR_CONTROL_HARD_RESET(1)#defineHID_PAR_CONTROL_SOFT_RESET(2)#defineHID_PAR_CONTROL_SUSPEND(3)#defineHID_PAR_CONTROL_EXIT_SUSPEND(4)#defineHID_PAR_CONTROL_VIRTUAL_CABLE_UNPLUG(5)/* Different report types in get, set, data*//* ... */#defineHID_PAR_REP_TYPE_MASK(0x03)#defineHID_PAR_REP_TYPE_OTHER(0x00)#defineHID_PAR_REP_TYPE_INPUT(0x01)#defineHID_PAR_REP_TYPE_OUTPUT(0x02)#defineHID_PAR_REP_TYPE_FEATURE(0x03)/* Parameters for Get Report*//* ... *//* Buffer size in two bytes after Report ID */#defineHID_PAR_GET_REP_BUFSIZE_FOLLOWS(0x08)/* Parameters for Protocol Type*//* ... */#defineHID_PAR_PROTOCOL_MASK(0x01)#defineHID_PAR_PROTOCOL_REPORT(0x01)#defineHID_PAR_PROTOCOL_BOOT_MODE(0x00)#defineHID_PAR_REP_TYPE_MASK(0x03)/* Descriptor types in the SDP record*//* ... */#defineHID_SDP_DESCRIPTOR_REPORT(0x22)#defineHID_SDP_DESCRIPTOR_PHYSICAL(0x23)41 definestypedefstructdesc_info{UINT16dl_len;UINT8*dsc_list;}{...}tHID_DEV_DSCP_INFO;#defineHID_SSR_PARAM_INVALID0xfffftypedefstructsdp_info{charsvc_name[HID_MAX_SVC_NAME_LEN];/*Service Name */charsvc_descr[HID_MAX_SVC_DESCR_LEN];/*Service Description*/charprov_name[HID_MAX_PROV_NAME_LEN];/*Provider Name.*/UINT16rel_num;/*Release Number */UINT16hpars_ver;/*HID Parser Version.*/UINT16ssr_max_latency;/* HIDSSRHostMaxLatency value, if HID_SSR_PARAM_INVALID not used*/UINT16ssr_min_tout;/* HIDSSRHostMinTimeout value, if HID_SSR_PARAM_INVALID not used* */UINT8sub_class;/*Device Subclass.*/UINT8ctry_code;/*Country Code.*/UINT16sup_timeout;/* Supervisory Timeout */tHID_DEV_DSCP_INFOdscp_info;/* Descriptor list and Report list to be set in the SDP record. This parameter is used if HID_DEV_USE_GLB_SDP_REC is set to FALSE.*//* ... */#if(SDP_INCLUDED==TRUE)tSDP_DISC_REC*p_sdp_layer_rec;#endif///SDP_INCLUDED == TRUE}{...}tHID_DEV_SDP_INFO;/* ... */#endif///HID_HOST_INCLUDED == TRUE/* ... */#endif
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.