[BACK]Return to adb.h CVS log [TXT][DIR] Up to [local] / sys / dev / adb

Annotation of sys/dev/adb/adb.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: adb.h,v 1.3 2007/03/13 20:56:56 miod Exp $    */
        !             2: /*     $NetBSD: adbsys.h,v 1.4 2000/12/19 02:59:24 tsubai Exp $        */
        !             3:
        !             4: /*-
        !             5:  * Copyright (C) 1993, 1994    Allen K. Briggs, Chris P. Caputo,
        !             6:  *                     Michael L. Finch, Bradley A. Grantham, and
        !             7:  *                     Lawrence A. Kesteloot
        !             8:  * All rights reserved.
        !             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. All advertising materials mentioning features or use of this software
        !            19:  *    must display the following acknowledgement:
        !            20:  *     This product includes software developed by the Alice Group.
        !            21:  * 4. The names of the Alice Group or any of its members may not be used
        !            22:  *    to endorse or promote products derived from this software without
        !            23:  *    specific prior written permission.
        !            24:  *
        !            25:  * THIS SOFTWARE IS PROVIDED BY THE ALICE GROUP ``AS IS'' AND ANY EXPRESS OR
        !            26:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
        !            27:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
        !            28:  * IN NO EVENT SHALL THE ALICE GROUP BE LIABLE FOR ANY DIRECT, INDIRECT,
        !            29:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
        !            30:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
        !            31:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        !            32:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
        !            33:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
        !            34:  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        !            35:  */
        !            36:
        !            37: #ifndef _ADB_H_
        !            38: #define _ADB_H_
        !            39:
        !            40: #ifdef _KERNEL
        !            41:
        !            42: /*
        !            43:  * Arguments used to attach a device to the Apple Desktop Bus
        !            44:  */
        !            45: struct adb_attach_args {
        !            46:        int     origaddr;
        !            47:        int     adbaddr;
        !            48:        int     handler_id;
        !            49: };
        !            50:
        !            51: #define        ADB_CMDADDR(cmd)        ((u_int8_t)(cmd & 0xf0) >> 4)
        !            52: #define        ADBFLUSH(dev)           ((((u_int8_t)dev & 0x0f) << 4) | 0x01)
        !            53: #define        ADBLISTEN(dev, reg)     ((((u_int8_t)dev & 0x0f) << 4) | 0x08 | reg)
        !            54: #define        ADBTALK(dev, reg)       ((((u_int8_t)dev & 0x0f) << 4) | 0x0c | reg)
        !            55:
        !            56: /* an ADB event */
        !            57: typedef struct adb_event_s {
        !            58:        int byte_count;                 /* number of bytes */
        !            59:        unsigned char bytes[8];         /* bytes from register 0 */
        !            60: } adb_event_t;
        !            61:
        !            62:        /* Interesting default addresses */
        !            63: #define        ADBADDR_SECURE  1               /* Security dongles */
        !            64: #define ADBADDR_MAP    2               /* Mapped devices (keyboards/pads) */
        !            65: #define ADBADDR_REL    3               /* Relative positioning devices
        !            66:                                           (mice, trackballs/pads) */
        !            67: #define ADBADDR_ABS    4               /* Absolute positioning devices
        !            68:                                           (graphics tablets) */
        !            69: #define ADBADDR_DATATX 5
        !            70: #define ADBADDR_RSRVD  6               /* Reserved by Apple */
        !            71: #define ADBADDR_MISC   7               /* Miscellaneous appliances */
        !            72: #define ADBADDR_DONGLE ADBADDR_SECURE
        !            73: #define ADBADDR_KBD    ADBADDR_MAP
        !            74: #define ADBADDR_MS     ADBADDR_REL
        !            75: #define ADBADDR_TABLET ADBADDR_ABS
        !            76: #define ADBADDR_MODEM  ADBADDR_DATATX
        !            77:
        !            78: #define ADBADDR_APM    0xac0ff         /* A faux-addr for the APM driver to
        !            79:                                           latch onto */
        !            80:
        !            81:        /* Interesting keyboard handler IDs */
        !            82: #define ADB_STDKBD     1
        !            83: #define ADB_EXTKBD     2
        !            84: #define ADB_ISOKBD     4
        !            85: #define ADB_EXTISOKBD  5
        !            86: #define ADB_KBDII      8
        !            87: #define ADB_ISOKBDII   9
        !            88: #define ADB_PBKBD      12
        !            89: #define ADB_PBISOKBD   13
        !            90: #define ADB_ADJKPD     14
        !            91: #define ADB_ADJKBD     16
        !            92: #define ADB_ADJISOKBD  17
        !            93: #define ADB_ADJJAPKBD  18
        !            94: #define ADB_PBEXTISOKBD        20
        !            95: #define ADB_PBEXTJAPKBD        21
        !            96: #define ADB_JPKBDII    22
        !            97: #define ADB_PBEXTKBD   24
        !            98: #define ADB_DESIGNKBD  27      /* XXX Needs to be verified XXX */
        !            99: #define ADB_PBJPKBD    30
        !           100: #define ADB_PBG4KBD    195
        !           101: #define ADB_IBITISOKBD 196
        !           102: #define ADB_PBG3JPKBD  201
        !           103:
        !           104:        /* Interesting mouse handler IDs */
        !           105: #define ADBMS_100DPI   1
        !           106: #define ADBMS_200DPI   2
        !           107: #define ADBMS_MSA3     3       /* Mouse Systems A3 Mouse */
        !           108: #define ADBMS_EXTENDED 4       /* Extended mouse protocol */
        !           109: #define ADBMS_USPEED   0x2f    /* MicroSpeed mouse */
        !           110: #define ADBMS_UCONTOUR 0x66    /* Contour mouse */
        !           111: #define ADBMS_TURBO    50      /* Kensington Turbo Mouse */
        !           112:
        !           113:        /* Interesting tablet handler ID */
        !           114: #define ADB_ARTPAD     58      /* WACOM ArtPad II tablet */
        !           115:
        !           116:        /* Interesting miscellaneous handler ID */
        !           117: #define ADB_POWERKEY   34      /* Sophisticated Circuits PowerKey */
        !           118:                                /* (intelligent power tap) */
        !           119:
        !           120: extern int     adb_polling;
        !           121: #ifdef ADB_DEBUG
        !           122: extern int     adb_debug;
        !           123: #endif
        !           124:
        !           125: /* ADB Manager */
        !           126:
        !           127: typedef caddr_t Ptr;
        !           128:
        !           129: typedef struct {
        !           130:        Ptr siServiceRtPtr;
        !           131:        Ptr siDataAreaAddr;
        !           132: } ADBSetInfoBlock;
        !           133:
        !           134: typedef struct {
        !           135:        unsigned char   devType;
        !           136:        unsigned char   origADBAddr;
        !           137:        Ptr             dbServiceRtPtr;
        !           138:        Ptr             dbDataAreaAddr;
        !           139: } ADBDataBlock;
        !           140:
        !           141: int    adbprint(void *, const char *);
        !           142: int    adb_op_sync(Ptr, short);
        !           143: int    set_adb_info(ADBSetInfoBlock *, int);
        !           144:
        !           145: #endif /* _KERNEL */
        !           146:
        !           147: #endif /* _ADB_H_ */

CVSweb