/* $OpenBSD: adb_subr.c,v 1.2 2006/02/09 06:45:41 miod Exp $ */ /* $NetBSD: adb.c,v 1.6 1999/08/16 06:28:09 tsubai Exp $ */ /*- * Copyright (C) 1994 Bradley A. Grantham * All rights reserved. * * 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Bradley A. Grantham. * 4. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 THE AUTHOR 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. */ #include #include #include #include struct cfdriver adb_cd = { NULL, "adb", DV_DULL }; int adbprint(void *args, const char *name) { struct adb_attach_args *aa_args = (struct adb_attach_args *)args; int rv = UNCONF; if (name) { /* no configured device matched */ rv = UNSUPP; /* most ADB device types are unsupported */ /* print out what kind of ADB device we have found */ switch(aa_args->origaddr) { #ifdef ADBVERBOSE case ADBADDR_SECURE: printf("security dongle (%d)", aa_args->handler_id); break; #endif case ADBADDR_MAP: printf("mapped device (%d)", aa_args->handler_id); rv = UNCONF; break; case ADBADDR_REL: printf("relative positioning device (%d)", aa_args->handler_id); rv = UNCONF; break; #ifdef ADBVERBOSE case ADBADDR_ABS: switch (aa_args->handler_id) { case ADB_ARTPAD: printf("WACOM ArtPad II"); break; default: printf("absolute positioning device (%d)", aa_args->handler_id); break; } break; case ADBADDR_DATATX: printf("data transfer device (modem?) (%d)", aa_args->handler_id); break; case ADBADDR_MISC: switch (aa_args->handler_id) { case ADB_POWERKEY: printf("Sophisticated Circuits PowerKey"); break; default: printf("misc. device (remote control?) (%d)", aa_args->handler_id); break; } break; #endif /* ADBVERBOSE */ default: printf("unknown type %d device, (handler %d)", aa_args->origaddr, aa_args->handler_id); break; } printf(" at %s", name); } printf(" addr %d", aa_args->adbaddr); return (rv); }