1 /* $NetBSD: bthid.h,v 1.1 2006/06/19 15:44:45 gdamore Exp $ */ 2 3 /*- 4 * Copyright (c) 2006 Itronix Inc. 5 * All rights reserved. 6 * 7 * Written by Iain Hibbert for Itronix Inc. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 3. The name of Itronix Inc. may not be used to endorse 18 * or promote products derived from this software without specific 19 * prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY ITRONIX INC. ``AS IS'' AND 22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 23 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ITRONIX INC. BE LIABLE FOR ANY 25 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28 * ON ANY THEORY OF LIABILITY, WHETHER IN 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 * POSSIBILITY OF SUCH DAMAGE. 32 */ 33 34 #ifndef _DEV_BLUETOOTH_BTHID_H_ 35 #define _DEV_BLUETOOTH_BTHID_H_ 36 37 /* Transaction Types */ 38 #define BTHID_HANDSHAKE 0x0 39 #define BTHID_CONTROL 0x1 40 #define BTHID_GET_REPORT 0x4 41 #define BTHID_SET_REPORT 0x5 42 #define BTHID_GET_PROTOCOL 0x6 43 #define BTHID_SET_PROTOCOL 0x7 44 #define BTHID_GET_IDLE 0x8 45 #define BTHID_SET_IDLE 0x9 46 #define BTHID_DATA 0xa 47 #define BTHID_DATC 0xb 48 49 #define BTHID_TYPE(b) (((b) & 0xf0) >> 4) 50 51 /* HANDSHAKE Transaction Parameters */ 52 #define BTHID_HANDSHAKE_SUCCESS 0x0 53 #define BTHID_HANDSHAKE_NOT_READY 0x1 54 #define BTHID_HANDSHAKE_INVALID_ID 0x2 55 #define BTHID_HANDSHAKE_UNSUPPORTED 0x3 56 #define BTHID_HANDSHAKE_INVALID_PARAM 0x4 57 #define BTHID_HANDSHAKE_UNKNOWN 0xe 58 #define BTHID_HANDSHAKE_FATAL 0xf 59 60 #define BTHID_HANDSHAKE_PARAM(b) ((b) & 0x0f) 61 62 /* HID_CONTROL Transaction Parameters */ 63 #define BTHID_CONTROL_NOP 0x0 64 #define BTHID_CONTROL_HARD_RESET 0x1 65 #define BTHID_CONTROL_SOFT_RESET 0x2 66 #define BTHID_CONTROL_SUSPEND 0x3 67 #define BTHID_CONTROL_RESUME 0x4 68 #define BTHID_CONTROL_UNPLUG 0x5 69 70 #define BTHID_CONTROL_PARAM(b) ((b) & 0x0f) 71 72 /* GET_REPORT Transaction Parameters */ 73 #define BTHID_CONTROL_SIZE 0x08 74 75 /* GET_PROTOCOL Transaction Parameters */ 76 #define BTHID_PROTOCOL_REPORT 0 77 #define BTHID_PROTOCOL_BOOT 1 78 79 #define BTHID_PROTOCOL_PARAM(b) ((b) & 0x01) 80 81 /* DATA, DATC Transaction Parameters */ 82 #define BTHID_DATA_OTHER 0 83 #define BTHID_DATA_INPUT 1 84 #define BTHID_DATA_OUTPUT 2 85 #define BTHID_DATA_FEATURE 3 86 87 #define BTHID_DATA_PARAM(b) ((b) & 0x03) 88 89 #endif /* _DEV_BLUETOOTH_BTHID_H_ */ 90