| /* |
| * |
| * BlueZ - Bluetooth protocol stack for Linux |
| * |
| * Copyright (C) 2003-2014 Marcel Holtmann <marcel@holtmann.org> |
| * Copyright (C) 2014 Google Inc. |
| * |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| * |
| */ |
| |
| #ifndef __HIDP_DEFS_H |
| #define __HIDP_DEFS_H |
| |
| /* HIDP header masks */ |
| #define HIDP_HEADER_TRANS_MASK 0xf0 |
| #define HIDP_HEADER_PARAM_MASK 0x0f |
| |
| /* HIDP transaction types */ |
| #define HIDP_TRANS_HANDSHAKE 0x00 |
| #define HIDP_TRANS_HID_CONTROL 0x10 |
| #define HIDP_TRANS_GET_REPORT 0x40 |
| #define HIDP_TRANS_SET_REPORT 0x50 |
| #define HIDP_TRANS_GET_PROTOCOL 0x60 |
| #define HIDP_TRANS_SET_PROTOCOL 0x70 |
| #define HIDP_TRANS_GET_IDLE 0x80 |
| #define HIDP_TRANS_SET_IDLE 0x90 |
| #define HIDP_TRANS_DATA 0xa0 |
| #define HIDP_TRANS_DATC 0xb0 |
| |
| /* HIDP handshake results */ |
| #define HIDP_HSHK_SUCCESSFUL 0x00 |
| #define HIDP_HSHK_NOT_READY 0x01 |
| #define HIDP_HSHK_ERR_INVALID_REPORT_ID 0x02 |
| #define HIDP_HSHK_ERR_UNSUPPORTED_REQUEST 0x03 |
| #define HIDP_HSHK_ERR_INVALID_PARAMETER 0x04 |
| #define HIDP_HSHK_ERR_UNKNOWN 0x0e |
| #define HIDP_HSHK_ERR_FATAL 0x0f |
| |
| /* HIDP control operation parameters */ |
| #define HIDP_CTRL_NOP 0x00 |
| #define HIDP_CTRL_HARD_RESET 0x01 |
| #define HIDP_CTRL_SOFT_RESET 0x02 |
| #define HIDP_CTRL_SUSPEND 0x03 |
| #define HIDP_CTRL_EXIT_SUSPEND 0x04 |
| #define HIDP_CTRL_VIRTUAL_CABLE_UNPLUG 0x05 |
| |
| /* HIDP data transaction headers */ |
| #define HIDP_DATA_RTYPE_MASK 0x03 |
| #define HIDP_DATA_RSRVD_MASK 0x0c |
| #define HIDP_DATA_RTYPE_OTHER 0x00 |
| #define HIDP_DATA_RTYPE_INPUT 0x01 |
| #define HIDP_DATA_RTYPE_OUPUT 0x02 |
| #define HIDP_DATA_RTYPE_FEATURE 0x03 |
| |
| /* HIDP protocol header parameters */ |
| #define HIDP_PROTO_BOOT 0x00 |
| #define HIDP_PROTO_REPORT 0x01 |
| |
| #define HIDP_VIRTUAL_CABLE_UNPLUG 0 |
| #define HIDP_BOOT_PROTOCOL_MODE 1 |
| #define HIDP_BLUETOOTH_VENDOR_ID 9 |
| #define HIDP_WAITING_FOR_RETURN 10 |
| #define HIDP_WAITING_FOR_SEND_ACK 11 |
| |
| #endif /* __HIDP_DEFS_H */ |