1*a9643ea8Slogwang /*- 2*a9643ea8Slogwang * Copyright (c) 2004 Mark R V Murray 3*a9643ea8Slogwang * All rights reserved. 4*a9643ea8Slogwang * 5*a9643ea8Slogwang * Redistribution and use in source and binary forms, with or without 6*a9643ea8Slogwang * modification, are permitted provided that the following conditions 7*a9643ea8Slogwang * are met: 8*a9643ea8Slogwang * 1. Redistributions of source code must retain the above copyright 9*a9643ea8Slogwang * notice, this list of conditions and the following disclaimer 10*a9643ea8Slogwang * in this position and unchanged. 11*a9643ea8Slogwang * 2. Redistributions in binary form must reproduce the above copyright 12*a9643ea8Slogwang * notice, this list of conditions and the following disclaimer in the 13*a9643ea8Slogwang * documentation and/or other materials provided with the distribution. 14*a9643ea8Slogwang * 15*a9643ea8Slogwang * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR 16*a9643ea8Slogwang * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17*a9643ea8Slogwang * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18*a9643ea8Slogwang * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19*a9643ea8Slogwang * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20*a9643ea8Slogwang * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21*a9643ea8Slogwang * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22*a9643ea8Slogwang * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23*a9643ea8Slogwang * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24*a9643ea8Slogwang * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25*a9643ea8Slogwang * 26*a9643ea8Slogwang * $FreeBSD$ 27*a9643ea8Slogwang */ 28*a9643ea8Slogwang #ifndef _MACHINE_IODEV_H_ 29*a9643ea8Slogwang #define _MACHINE_IODEV_H_ 30*a9643ea8Slogwang 31*a9643ea8Slogwang #ifdef _KERNEL 32*a9643ea8Slogwang #include <machine/cpufunc.h> 33*a9643ea8Slogwang 34*a9643ea8Slogwang #define iodev_read_1 inb 35*a9643ea8Slogwang #define iodev_read_2 inw 36*a9643ea8Slogwang #define iodev_read_4 inl 37*a9643ea8Slogwang #define iodev_write_1 outb 38*a9643ea8Slogwang #define iodev_write_2 outw 39*a9643ea8Slogwang #define iodev_write_4 outl 40*a9643ea8Slogwang 41*a9643ea8Slogwang int iodev_open(struct thread *td); 42*a9643ea8Slogwang int iodev_close(struct thread *td); 43*a9643ea8Slogwang int iodev_ioctl(u_long cmd, caddr_t data); 44*a9643ea8Slogwang 45*a9643ea8Slogwang #endif /* _KERNEL */ 46*a9643ea8Slogwang #endif /* _MACHINE_IODEV_H_ */ 47