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

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

1.1     ! nbrk        1: /*     $OpenBSD: midi_if.h,v 1.6 2006/04/07 22:41:32 jsg Exp $ */
        !             2: /*     $NetBSD: midi_if.h,v 1.3 1998/11/25 22:17:07 augustss Exp $     */
        !             3:
        !             4: /*
        !             5:  * Copyright (c) 1998 The NetBSD Foundation, Inc.
        !             6:  * All rights reserved.
        !             7:  *
        !             8:  * This code is derived from software contributed to The NetBSD Foundation
        !             9:  * by Lennart Augustsson (augustss@netbsd.org).
        !            10:  *
        !            11:  * Redistribution and use in source and binary forms, with or without
        !            12:  * modification, are permitted provided that the following conditions
        !            13:  * are met:
        !            14:  * 1. Redistributions of source code must retain the above copyright
        !            15:  *    notice, this list of conditions and the following disclaimer.
        !            16:  * 2. Redistributions in binary form must reproduce the above copyright
        !            17:  *    notice, this list of conditions and the following disclaimer in the
        !            18:  *    documentation and/or other materials provided with the distribution.
        !            19:  * 3. All advertising materials mentioning features or use of this software
        !            20:  *    must display the following acknowledgement:
        !            21:  *        This product includes software developed by the NetBSD
        !            22:  *        Foundation, Inc. and its contributors.
        !            23:  * 4. Neither the name of The NetBSD Foundation nor the names of its
        !            24:  *    contributors may be used to endorse or promote products derived
        !            25:  *    from this software without specific prior written permission.
        !            26:  *
        !            27:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
        !            28:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
        !            29:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        !            30:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
        !            31:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
        !            32:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
        !            33:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
        !            34:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
        !            35:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
        !            36:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        !            37:  * POSSIBILITY OF SUCH DAMAGE.
        !            38:  */
        !            39:
        !            40: #ifndef _SYS_DEV_MIDI_IF_H_
        !            41: #define _SYS_DEV_MIDI_IF_H_
        !            42:
        !            43: struct midi_info {
        !            44:        char    *name;          /* Name of MIDI hardware */
        !            45:        int     props;
        !            46: };
        !            47: #define MIDI_PROP_OUT_INTR  1
        !            48: #define MIDI_PROP_CAN_INPUT 2
        !            49:
        !            50: struct midi_softc;
        !            51:
        !            52: struct midi_hw_if {
        !            53:        int     (*open)(void *, int,    /* open hardware */
        !            54:                        void (*)(void *, int), /* input callback */
        !            55:                        void (*)(void *), /* output callback */
        !            56:                        void *);
        !            57:        void    (*close)(void *);       /* close hardware */
        !            58:        int     (*output)(void *, int); /* output a byte */
        !            59:        void    (*flush)(void *);       /* flush the output */
        !            60:        void    (*getinfo)(void *, struct midi_info *);
        !            61:        int     (*ioctl)(void *, u_long, caddr_t, int, struct proc *);
        !            62: };
        !            63:
        !            64: void          midi_attach(struct midi_softc *, struct device *);
        !            65: struct device *midi_attach_mi(struct midi_hw_if *, void *,
        !            66:                                   struct device *);
        !            67:
        !            68: int           midi_unit_count(void);
        !            69: void          midi_getinfo(dev_t, struct midi_info *);
        !            70: int           midi_writebytes(int, u_char *, int);
        !            71:
        !            72: #endif /* _SYS_DEV_MIDI_IF_H_ */

CVSweb