root/dev/bluetooth/bthid.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */