/* $OpenBSD: conf.h,v 1.6 1997/01/16 09:25:45 niklas Exp $ */ /* $NetBSD: conf.h,v 1.4 1996/11/30 01:13:07 is Exp $ */ /* * Copyright (c) 1996 Bernd Ernesti. 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 Bernd Ernesti. * 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. */ bdev_decl(acd); cdev_decl(acd); cdev_decl(com); cdev_decl(ctty); cdev_decl(drcom); bdev_decl(fd); cdev_decl(fd); cdev_decl(grf); cdev_decl(ipl); cdev_decl(ite); cdev_decl(kbd); cdev_decl(lpt); cdev_decl(mfcs); #define mmread mmrw #define mmwrite mmrw cdev_decl(mm); cdev_decl(ms); cdev_decl(msc); cdev_decl(par); bdev_decl(rd); /* no cdev for rd */ cdev_decl(random); cdev_decl(ser); bdev_decl(sw); cdev_decl(sw); cdev_decl(uk); cdev_decl(view); bdev_decl(wd); cdev_decl(wd); /* open, close, ioctl, select, mmap -- XXX should be a map device */ #define cdev_grf_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) nullop, \ (dev_type_write((*))) nullop, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, dev_init(c,n,select), \ dev_init(c,n,mmap) } /* open, close, write, ioctl */ #define cdev_lpt_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \ dev_init(c,n,write), dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, \ 0, seltrue, (dev_type_mmap((*))) enodev } /* open, close, read, write, ioctl -- XXX should be a generic device */ #define cdev_par_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \ dev_init(c,n,write), dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, \ 0, (dev_type_select((*))) enodev, (dev_type_mmap((*))) enodev } /* open, close, ioctl, select, mmap -- XXX should be a map device */ #define cdev_view_init(c,n) { \ dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) nullop, \ (dev_type_write((*))) nullop, dev_init(c,n,ioctl), \ (dev_type_stop((*))) enodev, 0, dev_init(c,n,select), \ dev_init(c,n,mmap) }