summaryrefslogtreecommitdiff
path: root/sys/dev/bluetooth/bthid.h
diff options
context:
space:
mode:
authorGordon Willem Klok <gwk@cvs.openbsd.org>2007-07-27 16:52:25 +0000
committerGordon Willem Klok <gwk@cvs.openbsd.org>2007-07-27 16:52:25 +0000
commit618f49663432f1402262847be95ee45f6db23714 (patch)
treea1ac1ca1171d7d0c9139a97b34582aa392b0d44b /sys/dev/bluetooth/bthid.h
parent1c7596550822f967b125e358751560622173b1f7 (diff)
Commiting for xsa@ who dosent want to for some reason. He has KNFed and
de-proplibed some of the netbsd bluetooth drives for HID devices (mice and keyboards) they will however NOT BUILD YET as they lack the glue device bthidev and our replacement for the problib. no objections from uwe
Diffstat (limited to 'sys/dev/bluetooth/bthid.h')
-rw-r--r--sys/dev/bluetooth/bthid.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/sys/dev/bluetooth/bthid.h b/sys/dev/bluetooth/bthid.h
new file mode 100644
index 00000000000..0b0e2046280
--- /dev/null
+++ b/sys/dev/bluetooth/bthid.h
@@ -0,0 +1,90 @@
+/* $OpenBSD: bthid.h,v 1.1 2007/07/27 16:52:24 gwk Exp $ */
+/* $NetBSD: bthid.h,v 1.1 2006/06/19 15:44:45 gdamore Exp $ */
+
+/*-
+ * Copyright (c) 2006 Itronix Inc.
+ * All rights reserved.
+ *
+ * Written by Iain Hibbert for Itronix Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of Itronix Inc. may not be used to endorse
+ * or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ITRONIX INC. ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ITRONIX INC. BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _DEV_BLUETOOTH_BTHID_H_
+#define _DEV_BLUETOOTH_BTHID_H_
+
+/* Transaction Types */
+#define BTHID_HANDSHAKE 0x0
+#define BTHID_CONTROL 0x1
+#define BTHID_GET_REPORT 0x4
+#define BTHID_SET_REPORT 0x5
+#define BTHID_GET_PROTOCOL 0x6
+#define BTHID_SET_PROTOCOL 0x7
+#define BTHID_GET_IDLE 0x8
+#define BTHID_SET_IDLE 0x9
+#define BTHID_DATA 0xa
+#define BTHID_DATC 0xb
+
+#define BTHID_TYPE(b) (((b) & 0xf0) >> 4)
+
+/* HANDSHAKE Transaction Parameters */
+#define BTHID_HANDSHAKE_SUCCESS 0x0
+#define BTHID_HANDSHAKE_NOT_READY 0x1
+#define BTHID_HANDSHAKE_INVALID_ID 0x2
+#define BTHID_HANDSHAKE_UNSUPPORTED 0x3
+#define BTHID_HANDSHAKE_INVALID_PARAM 0x4
+#define BTHID_HANDSHAKE_UNKNOWN 0xe
+#define BTHID_HANDSHAKE_FATAL 0xf
+
+#define BTHID_HANDSHAKE_PARAM(b) ((b) & 0x0f)
+
+/* HID_CONTROL Transaction Parameters */
+#define BTHID_CONTROL_NOP 0x0
+#define BTHID_CONTROL_HARD_RESET 0x1
+#define BTHID_CONTROL_SOFT_RESET 0x2
+#define BTHID_CONTROL_SUSPEND 0x3
+#define BTHID_CONTROL_RESUME 0x4
+#define BTHID_CONTROL_UNPLUG 0x5
+
+#define BTHID_CONTROL_PARAM(b) ((b) & 0x0f)
+
+/* GET_REPORT Transaction Parameters */
+#define BTHID_CONTROL_SIZE 0x08
+
+/* GET_PROTOCOL Transaction Parameters */
+#define BTHID_PROTOCOL_REPORT 0
+#define BTHID_PROTOCOL_BOOT 1
+
+#define BTHID_PROTOCOL_PARAM(b) ((b) & 0x01)
+
+/* DATA, DATC Transaction Parameters */
+#define BTHID_DATA_OTHER 0
+#define BTHID_DATA_INPUT 1
+#define BTHID_DATA_OUTPUT 2
+#define BTHID_DATA_FEATURE 3
+
+#define BTHID_DATA_PARAM(b) ((b) & 0x03)
+
+#endif /* _DEV_BLUETOOTH_BTHID_H_ */