Files
Arquivotheca.SunOS-4.1.4/sys/sun/conf.c
seta75D ff309bfe1c Init
2021-10-11 18:37:13 -03:00

1407 lines
29 KiB
C

#ifndef lint
static char sccsid[] = "@(#)conf.c 1.1 94/10/31 SMI";
#endif
/*
* Copyright (c) 1987-1989 by Sun Microsystems, Inc.
*/
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/buf.h>
#include <sys/conf.h>
#include <sys/user.h>
#include <sys/proc.h>
#include <sys/file.h>
#include <sys/vnode.h>
#include <sys/acct.h>
#include <sys/stream.h>
extern int nulldev();
extern int nodev();
#ifdef VDDRV
extern int vd_unuseddev();
extern vdopen(), vdclose(), vdioctl();
#else
#define vd_unuseddev nodev
#define vdopen nodev
#define vdclose nodev
#define vdioctl nodev
#endif
#include "xy.h"
#if NXY > 0
extern int xyopen(), xystrategy(), xyread(), xywrite();
extern int xydump(), xyioctl(), xysize();
#else
#define xyopen nodev
#define xystrategy nodev
#define xyread nodev
#define xywrite nodev
#define xydump nodev
#define xyioctl nodev
#define xysize 0
#endif
#include "hrc.h"
#if NHRC > 0
extern int hrcopen(), hrcclose(), hrcmmap(), hrcioctl(), hrcread();
#else
#define hrcopen nodev
#define hrcclose nodev
#define hrcmmap nodev
#define hrcioctl nodev
#define hrcread nodev
#endif
#include "xd.h"
#if NXD > 0
extern int xdopen(), xdstrategy(), xdread(), xdwrite();
extern int xddump(), xdioctl(), xdsize();
#else
#define xdopen nodev
#define xdstrategy nodev
#define xdread nodev
#define xdwrite nodev
#define xddump nodev
#define xdioctl nodev
#define xdsize 0
#endif
#include "st.h"
#if NST > 0
extern int stopen(), stclose(), stread(), stwrite(), stioctl(), ststrategy();
#else
#define stopen nodev
#define stclose nodev
#define stread nodev
#define stwrite nodev
#define stioctl nodev
#define ststrategy nodev
#endif
#include "ns.h"
#if NNS > 0
extern int
nsopen(),
nsread(),
nswrite(),
nssize(),
nsioctl(),
nsstrategy();
#else
#define nsopen nodev
#define nsclose nodev
#define nsread nodev
#define nswrite nodev
#define nssize 0
#define nsioctl nodev
#define nsstrategy nodev
#endif
#include "rd.h"
#if NRD > 0
extern int
rdopen(),
rdread(),
rdwrite(),
rdsize(),
rdioctl(),
rdstrategy();
#else
#define rdopen nodev
#define rdclose nodev
#define rdread nodev
#define rdwrite nodev
#define rdsize 0
#define rdioctl nodev
#define rdstrategy nodev
#endif
#include "ft.h"
#if NFT > 0
extern int
ftopen(),
ftclose(),
ftread(),
ftwrite(),
ftsize(),
ftioctl(),
ftstrategy();
#else
#define ftopen nodev
#define ftclose nodev
#define ftread nodev
#define ftwrite nodev
#define ftsize 0
#define ftioctl nodev
#define ftstrategy nodev
#endif
#include "mt.h"
#if NMT > 0
extern int tmopen(), tmclose(), tmstrategy(), tmread(), tmwrite();
extern int tmdump(), tmioctl();
#else
#define tmopen nodev
#define tmclose nodev
#define tmstrategy nodev
#define tmread nodev
#define tmwrite nodev
#define tmdump nodev
#define tmioctl nodev
#endif
#include "xt.h"
#if NXT > 0
extern int xtopen(), xtclose(), xtstrategy(), xtread(), xtwrite(), xtioctl();
#else
#define xtopen nodev
#define xtclose nodev
#define xtstrategy nodev
#define xtread nodev
#define xtwrite nodev
#define xtioctl nodev
#endif
#include "ar.h"
#if NAR > 0
extern int aropen(), arclose(), arstrategy(), arread(), arwrite(), arioctl();
#else
#define aropen nodev
#define arclose nodev
#define arstrategy nodev
#define arread nodev
#define arwrite nodev
#define arioctl nodev
#endif
#include "sd.h"
#if NSD > 0
extern int sdopen(), sdclose(), sdstrategy(), sdread(), sdwrite();
extern int sddump(), sdioctl(), sdsize();
#else
#define sdopen nodev
#define sdclose nodev
#define sdstrategy nodev
#define sdread nodev
#define sdwrite nodev
#define sddump nodev
#define sdioctl nodev
#define sdsize 0
#endif
#include "hd.h"
#if NHD > 0
extern int hdopen(), hdstrategy(), hdread(), hdwrite();
extern int hddump(), hdioctl(), hdsize();
#else
#define hdopen nodev
#define hdstrategy nodev
#define hdread nodev
#define hdwrite nodev
#define hddump nodev
#define hdioctl nodev
#define hdsize 0
#endif
#include "fd.h"
#if NFD > 0
extern int fdopen(), fdclose(), fdread(), fdstrategy(), fdwrite();
extern int fddump(), fdioctl(), fdsize();
#else
#define fdopen nodev
#define fdclose nodev
#define fdstrategy nodev
#define fdread nodev
#define fdwrite nodev
#define fddump nodev
#define fdioctl nodev
#define fdsize 0
#endif
#include "id.h"
#if NID > 0
extern int idcopen(), idbopen(), idstrategy(), idread(), idwrite();
extern int iddump(), idioctl(), idsize();
#else
#define idbopen nodev
#define idcopen nodev
#define idstrategy nodev
#define idread nodev
#define idwrite nodev
#define iddump nodev
#define idioctl nodev
#define idsize 0
#endif
#include "tvone.h"
#if NTVONE > 0
extern int tvoneopen(), tvoneclose(), tvonemmap(), tvoneioctl();
#else
#define tvoneopen nodev
#define tvoneclose nodev
#define tvoneioctl nodev
#define tvonemmap nodev
#endif
#include "sr.h"
#if NSR > 0
int sropen(), srclose(), srread(), srioctl(), srstrategy(), srsize();
#else
#define sropen nodev
#define srclose nodev
#define srread nodev
#define srioctl nodev
#define srstrategy nodev
#define srsize nodev
#endif
#include "vx.h"
#if NVX > 0
extern int vxopen(), vxclose();
extern int vxread(), vxwrite();
extern int vxioctl(), vxmmap();
extern int vxsegmap();
#else
#define vxopen nodev
#define vxclose nodev
#define vxread nodev
#define vxwrite nodev
#define vxioctl nodev
#define vxmmap nodev
#define vxsegmap nodev
#endif
struct bdevsw bdevsw[] =
{
{ nodev, nodev, nodev, nodev, /*0*/
0, 0 }, /* was ip */
{ tmopen, tmclose, tmstrategy, tmdump, /*1*/
0, B_TAPE },
{ nodev, nodev, nodev, nodev, /*2*/
0, B_TAPE }, /* was ar */
{ xyopen, nulldev, xystrategy, xydump, /*3*/
xysize, 0 },
{ nodev, nodev, nodev, nodev, /*4*/
0, 0 }, /* was sw */
{ nodev, nodev, nodev, nodev, /*5*/
nodev, 0 }, /* was nd */
{ nodev, nodev, nodev, nodev, /*6*/
0, 0 },
{ sdopen, sdclose, sdstrategy, sddump, /*7*/
sdsize, 0 },
{ xtopen, xtclose, xtstrategy, nodev, /*8*/
0, B_TAPE },
{ nodev, nodev, nodev, nodev, /*9*/
nodev, 0 }, /* was sf */
{ xdopen, nulldev, xdstrategy, xddump, /*10*/
xdsize, 0 },
{ stopen, stclose, ststrategy, nodev, /*11*/
0, B_TAPE },
{ nsopen, nodev, nsstrategy, nodev, /*12*/
nssize, 0 },
{ rdopen, nodev, rdstrategy, nodev, /*13*/
rdsize, 0 },
{ ftopen, ftclose, ftstrategy, nodev, /*14*/
ftsize, 0 },
{ hdopen, nulldev, hdstrategy, hddump, /*15*/
hdsize, 0 },
{ fdopen, fdclose, fdstrategy, fddump, /*16*/
fdsize, 0 },
{ vd_unuseddev, vd_unuseddev, vd_unuseddev, vd_unuseddev, /*17*/
0, 0 },
{ sropen, srclose, srstrategy, nodev, /*18*/
srsize, 0 },
{ vd_unuseddev, vd_unuseddev, vd_unuseddev, vd_unuseddev, /*19*/
0, 0 },
{ vd_unuseddev, vd_unuseddev, vd_unuseddev, vd_unuseddev, /*20*/
0, 0 },
{ vd_unuseddev, vd_unuseddev, vd_unuseddev, vd_unuseddev, /*21*/
0, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*22*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*23*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*24*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*25*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*26*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*27*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*28*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*29*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*30*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*31*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*32*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*33*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*34*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*35*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*36*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*37*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*38*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*39*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*40*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*41*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*42*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*43*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*44*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*45*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*46*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*47*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*48*/
idsize, 0 },
{ idbopen, nulldev, idstrategy, iddump, /*49*/
idsize, 0 },
};
int nblkdev = sizeof (bdevsw) / sizeof (bdevsw[0]);
extern int swread(), swwrite();
extern int cnopen(), cnclose(), cnread(), cnwrite(), cnioctl(), cnselect();
extern struct streamtab wcinfo;
extern struct streamtab conskbd_info;
extern int consfbopen(), consfbclose(), consfbioctl(), consfbmmap();
extern int spec_segmap();
#include "ms.h"
#if NMS > 0
extern struct streamtab consms_info;
#define consmstab &consms_info
#else
#define consmstab 0
#endif
extern int syopen(), syread(), sywrite(), syioctl(), syselect();
extern int mmopen(), mmread(), mmwrite(), mmioctl(), mmmmap(), mmsegmap();
#define mmselect seltrue
#include "vp.h"
#if NVP > 0
extern int vpopen(), vpclose(), vpwrite(), vpioctl();
#else
#define vpopen nodev
#define vpclose nodev
#define vpwrite nodev
#define vpioctl nodev
#endif
#include "vpc.h"
#if NVPC > 0
extern int vpcopen(), vpcclose(), vpcwrite(), vpcioctl();
#else
#define vpcopen nodev
#define vpcclose nodev
#define vpcwrite nodev
#define vpcioctl nodev
#endif
#include "zs.h"
#if NZS > 0
extern struct streamtab zsstab;
#define zstab &zsstab
#else
#define zstab 0
#endif
#include "pty.h"
#if NPTY > 0
extern struct streamtab ptsinfo;
extern int ptcopen(), ptcclose(), ptcread(), ptcwrite(), ptcioctl();
extern int ptcselect();
#define ptstab &ptsinfo
#else
#define ptstab 0
#define ptcopen nodev
#define ptcclose nodev
#define ptcread nodev
#define ptcwrite nodev
#define ptcioctl nodev
#define ptcselect nodev
#endif
#include "mti.h"
#if NMTI > 0
extern int mtireset();
extern struct streamtab mtistab;
#define mtitab &mtistab
#else
#define mtireset nodev
#define mtitab 0
#endif
#include "mcpa.h"
#if NMCPA > 0
extern struct streamtab mcpstab;
extern struct streamtab mcppstab;
#define mcptab &mcpstab
#define mcpptab &mcppstab
#else
#define mcptab 0
#define mcpptab 0
#endif
#include "cgtwo.h"
#if NCGTWO > 0
extern int cgtwoopen(), cgtwommap(), cgtwoioctl();
extern int cgtwoclose();
#else
#define cgtwoopen nodev
#define cgtwommap nodev
#define cgtwoioctl nodev
#define cgtwoclose nodev
#endif
#include "cgfour.h"
#if NCGFOUR > 0
extern int cgfouropen(), cgfourclose(), cgfourioctl(), cgfourmmap();
#else
#define cgfouropen nodev
#define cgfourclose nodev
#define cgfourioctl nodev
#define cgfourmmap nodev
#endif
#include "gpone.h"
#if NGPONE > 0
extern int gponeopen(), gponemmap(), gponeioctl();
extern int gponeclose();
#else
#define gponeopen nodev
#define gponemmap nodev
#define gponeioctl nodev
#define gponeclose nodev
#endif
#include "win.h"
#if NWIN > 0
extern int winopen(), winclose(), winread(), winwrite();
extern int winioctl(), winmmap(), winselect(), winsegmap();
#else
#define winopen nodev
#define winclose nodev
#define winread nodev
#define winwrite nodev
#define winioctl nodev
#define winmmap nodev
#define winselect nodev
#define winsegmap 0
#endif
int logopen(), logclose(), logread(), logioctl(), logselect();
#include "pi.h"
#if NPI > 0
extern struct streamtab piinfo;
#define pitab &piinfo
#else
#define pitab 0
#endif
#include "bwtwo.h"
#if NBWTWO > 0
extern int bwtwoopen(), bwtwommap(), bwtwoioctl();
extern int bwtwoclose();
#else
#define bwtwoopen nodev
#define bwtwommap nodev
#define bwtwoioctl nodev
#define bwtwoclose nodev
#endif
#include "des.h"
#if NDES > 0
extern int desopen(), desclose(), desioctl();
#else
#define desopen nodev
#define desclose nodev
#define desioctl nodev
#endif
#ifdef FPU
#include "fpa.h"
#endif FPU
#if NFPA > 0
extern int fpaopen(), fpaclose(), fpaioctl();
#else
#define fpaopen nodev
#define fpaclose nodev
#define fpaioctl nodev
#endif
#include "sp.h"
#if NSP > 0
extern struct streamtab spinfo;
#define sptab &spinfo
#else
#define sptab 0
#endif
#include "clone.h"
#if NCLONE > 0
extern int cloneopen();
#else
#define cloneopen nodev
#endif
#include "pc.h"
#if NPC > 0
extern int pcopen(), pcclose(), pcioctl(), pcselect(), pcmmap();
#else
#define pcopen nodev
#define pcclose nodev
#define pcioctl nodev
#define pcselect nodev
#define pcmmap nodev
#endif
extern int dumpopen(), dumpread(), dumpwrite();
/* Sunlink device driver entries */
#include "ifd.h"
#if NIFD > 0
int ifdopen(), ifdclose(), ifdread(), ifdwrite(), ifdioctl(), ifdselect();
#else
#define ifdopen nodev
#define ifdclose nodev
#define ifdread nodev
#define ifdwrite nodev
#define ifdioctl nodev
#define ifdselect nodev
#endif
#include "dcp.h"
#if NDCP > 0
int dcpopen(), dcpclose(), dcpread(), dcpwrite(), dcpdioctl(), dcpselect();
#else
#define dcpopen nodev
#define dcpclose nodev
#define dcpread nodev
#define dcpwrite nodev
#define dcpdioctl nodev
#define dcpselect nodev
#endif
#include "dnalink.h"
#if NDNALINK > 0
int dnaopen(), dnaclose(), dnaread(), dnawrite(), dnaioctl(), dnaselect();
#else
#define dnaopen nodev
#define dnaclose nodev
#define dnaread nodev
#define dnawrite nodev
#define dnaioctl nodev
#define dnaselect nodev
#endif
#include "tbi.h"
#if NTBI > 0
int tbiopen(), tbiclose(), tbiread(), tbiwrite(), tbidioctl();
#else
#define tbiopen nodev
#define tbiclose nodev
#define tbiread nodev
#define tbiwrite nodev
#define tbidioctl nodev
#endif
#include "chat.h"
#if NCHAT > 0
int chatopen(), chatclose(), chatread(), chatwrite();
int chatioctl(), chatselect();
int chutopen(), chutclose(), chutread(), chutwrite();
int chutioctl(), chutselect();
#else
#define chatopen nodev
#define chatclose nodev
#define chatread nodev
#define chatwrite nodev
#define chatioctl nodev
#define chatselect nodev
#define chutopen nodev
#define chutclose nodev
#define chutread nodev
#define chutwrite nodev
#define chutioctl nodev
#define chutselect nodev
#endif
/* bpp device */
#include "bpp.h"
#if NBPP > 0
extern int bpp_open(), bpp_close(), bpp_read(), bpp_write();
extern int bpp_ioctl();
#else
#define bpp_open nodev
#define bpp_close nodev
#define bpp_read nodev
#define bpp_write nodev
#define bpp_ioctl nodev
#endif
/* streams NIT device */
#include "snit.h"
#if NSNIT > 0
extern struct streamtab snit_info;
#define snittab &snit_info
#else NSNIT > 0
#define snittab 0
#endif NSNIT > 0
#include "cgthree.h"
#if NCGTHREE > 0
extern int cgthreeopen(), cgthreeclose(), cgthreemmap(), cgthreeioctl();
#else
#define cgthreeopen nodev
#define cgthreeclose nodev
#define cgthreeioctl nodev
#define cgthreemmap nodev
#endif
#include "cgeight.h"
#if NCGEIGHT > 0
extern int cgeightopen(), cgeightclose(), cgeightmmap(), cgeightioctl();
#else
#define cgeightopen nodev
#define cgeightclose nodev
#define cgeightioctl nodev
#define cgeightmmap nodev
#endif
#include "cgsix.h"
#if NCGSIX > 0
extern int cgsixopen(), cgsixclose(), cgsixmmap(), cgsixioctl();
extern int cgsixsegmap();
#else
#define cgsixopen nodev
#define cgsixclose nodev
#define cgsixioctl nodev
#define cgsixmmap nodev
#define cgsixsegmap nodev
#endif
#include "cgnine.h"
#if NCGNINE > 0
extern int cgnineopen(), cgnineclose(), cgninemmap(), cgnineioctl();
#else
#define cgnineopen nodev
#define cgnineclose nodev
#define cgnineioctl nodev
#define cgninemmap nodev
#endif
#include "pp.h"
#if NPP > 0
extern int ppopen(), ppclose(), ppwrite(), ppioctl();
#else
#define ppopen nodev
#define ppclose nodev
#define ppwrite nodev
#define ppioctl nodev
#endif
#include "taac.h"
#if NTAAC > 0
extern int taacopen(), taacmmap();
extern int taacclose(), taacioctl(), taacread(), taacwrite();
#else
#define taacopen nodev
#define taacmmap nodev
#define taacclose nodev
#define taacioctl nodev
#define taacread nodev
#define taacwrite nodev
#endif
/* TCP stream head */
#include "tcptli.h"
#if NTCPTLI > 0
extern struct streamtab tcptli_info;
#define tcptlitab &tcptli_info
#else NTCPTLI > 0
#define tcptlitab 0
#endif NTCPTLI > 0
#include "audioamd.h"
#if NAUDIOAMD > 0
extern struct streamtab audio_79C30_info;
#define audio_79C30tab &audio_79C30_info
#else
#define audio_79C30tab 0
#endif
#include "audiocs.h"
#if NAUDIOCS > 0
extern struct streamtab audio_4231_info;
#define audio_4231tab &audio_4231_info
#else
#define audio_4231tab 0
#endif
#include "dbri.h"
#if NDBRI > 0
extern struct streamtab dbri_info;
#define dbri_tab &dbri_info
#else
#define dbri_tab 0
#endif
#if NDBRI > 0 || NAUDIOAMD > 0
extern int acloneopen();
#else
#define acloneopen nodev
#endif NDBRI || NAUDIOAMD
#ifdef OPENPROMS
#include "openeepr.h"
#else
#define NOPENEEPR 0
#endif
#if NOPENEEPR > 0
extern int opromopen(), opromioctl();
#else
#define opromopen nodev
#define opromioctl nodev
#endif
#include "sg.h"
#if NSG > 0
int sgopen(), sgclose(), sgioctl(), sgread(), sgwrite();
#else NSG > 0
#define sgopen nodev
#define sgclose nodev
#define sgioctl nodev
#define sgread nodev
#define sgwrite nodev
#endif
#include "cgtwelve.h"
#if NCGTWELVE > 0
extern int cgtwelveopen(), cgtwelveclose(), cgtwelvemmap();
extern int cgtwelveioctl(), cgtwelvesegmap();
#else
#define cgtwelveopen nodev
#define cgtwelveclose nodev
#define cgtwelvemmap nodev
#define cgtwelveioctl nodev
#define cgtwelvesegmap nodev
#endif
#include "tcx.h"
#if NTCX > 0
extern int tcx_open(), tcx_close(), tcx_ioctl(), tcx_mmap();
#else
#define tcx_open nodev
#define tcx_close nodev
#define tcx_ioctl nodev
#define tcx_mmap nodev
#endif
#include "gt.h"
#if NGT > 0
extern int gtopen(), gtclose(), gtmmap();
extern int gtioctl(), gtsegmap();
extern struct streamtab lightpenptab;
#define lightpentab &lightpenptab
#else
#define gtopen nodev
#define gtclose nodev
#define gtmmap nodev
#define gtioctl nodev
#define gtsegmap nodev
#define lightpentab 0
#endif
extern int seltrue();
struct cdevsw cdevsw[] =
{
{
cnopen, cnclose, cnread, cnwrite, /*0*/
cnioctl, nulldev, cnselect, 0,
0, 0,
},
{
nodev, nodev, nodev, nodev, /*1*/
nodev, nodev, nodev, 0,
&wcinfo, 0,
},
{
syopen, nulldev, syread, sywrite, /*2*/
syioctl, nulldev, syselect, 0,
0, 0,
},
{
mmopen, nulldev, mmread, mmwrite, /*3*/
mmioctl, nulldev, mmselect, mmmmap,
0, mmsegmap,
},
{
nodev, nodev, nodev, nodev, /*4*/
nodev, nodev, nodev, 0, /* was ip */
0, 0,
},
{
tmopen, tmclose, tmread, tmwrite, /*5*/
tmioctl, nulldev, seltrue, 0,
0, 0,
},
{
vpopen, vpclose, nodev, vpwrite, /*6*/
vpioctl, nulldev, seltrue, 0,
0, 0,
},
{
nulldev, nulldev, swread, swwrite, /*7*/
nodev, nulldev, nodev, 0,
0, 0,
},
{
aropen, arclose, arread, arwrite, /*8*/
arioctl, nulldev, seltrue, 0,
0, 0,
},
{
xyopen, nulldev, xyread, xywrite, /*9*/
xyioctl, nulldev, seltrue, 0,
0, 0,
},
{
nodev, nodev, nodev, nodev, /*10*/
nodev, mtireset, nodev, 0,
mtitab, 0,
},
{
desopen, desclose, nodev, nodev, /*11*/
desioctl, nulldev, nodev, 0,
0, 0,
},
{
nodev, nodev, nodev, nodev, /*12*/
nodev, nodev, nodev, 0,
zstab, 0,
},
{
nodev, nodev, nodev, nodev, /*13*/
nodev, nulldev, nodev, 0,
consmstab, 0,
},
{
nodev, nodev, nodev, nodev, /*14*/
nodev, nodev, nodev, 0, /* was cgone */
0, 0,
},
{
winopen, winclose, winread, winwrite, /*15*/
winioctl, nodev, winselect, winmmap,
0, winsegmap,
},
{
logopen, logclose, logread, nodev, /*16*/
logioctl, nulldev, logselect, 0,
0, 0,
},
{
sdopen, sdclose, sdread, sdwrite, /*17*/
sdioctl, nulldev, seltrue, 0,
0, 0,
},
{
stopen, stclose, stread, stwrite, /*18*/
stioctl, nodev, nodev, 0,
0, 0,
},
{
nodev, nodev, nodev, nodev, /*19*/
nodev, nodev, nodev, 0, /* was nd */
0, 0,
},
{
nodev, nodev, nodev, nodev, /*20*/
nodev, nodev, nodev, 0,
ptstab, 0,
},
{
ptcopen, ptcclose, ptcread, ptcwrite, /*21*/
ptcioctl, nulldev, ptcselect, 0,
0, 0,
},
{
consfbopen, consfbclose, nodev, nodev, /*22*/
consfbioctl, nodev, nodev, consfbmmap,
0, spec_segmap,
},
{
nodev, nodev, nodev, nodev, /*23*/
nodev, nodev, nodev, 0, /* was ropc */
0, 0,
},
{
nodev, nodev, nodev, nodev, /*24*/
nodev, nodev, nodev, 0, /* was sky */
0, 0,
},
{
nodev, nodev, nodev, nodev, /*25*/
nodev, nodev, nodev, 0,
pitab, 0,
},
{
nodev, nodev, nodev, nodev, /*26*/
nodev, nodev, nodev, 0, /* was bwone */
0, 0,
},
{
bwtwoopen, bwtwoclose, nodev, nodev, /*27*/
bwtwoioctl, nodev, seltrue, bwtwommap,
0, spec_segmap,
},
{
vpcopen, vpcclose, nodev, vpcwrite, /*28*/
vpcioctl, nulldev, seltrue, 0,
0, 0,
},
{
nodev, nodev, nodev, nodev, /*29*/
nodev, nulldev, nodev, 0,
&conskbd_info, 0,
},
{
xtopen, xtclose, xtread, xtwrite, /*30*/
xtioctl, nulldev, seltrue, 0,
0, 0,
},
{
cgtwoopen, cgtwoclose, nodev, nodev, /*31*/
cgtwoioctl, nodev, seltrue, cgtwommap,
0, spec_segmap,
},
{
gponeopen, gponeclose, nodev, nodev, /*32*/
gponeioctl, nodev, seltrue, gponemmap,
0, spec_segmap,
},
{
nodev, nodev, nodev, nodev, /*33*/
nodev, nodev, nodev, 0, /* was sf */
0, 0,
},
{
fpaopen, fpaclose, nodev, nodev, /*34*/
fpaioctl, nodev, nodev, 0,
0, 0,
},
{
nodev, nodev, nodev, nodev, /*35*/
nodev, nodev, nodev, 0,
sptab, 0,
},
{
nodev, nodev, nodev, nodev, /*36*/
nodev, nodev, nodev, 0,
0, 0,
},
{
cloneopen, nodev, nodev, nodev, /*37*/
nodev, nodev, nodev, 0,
0, 0,
},
{
pcopen, pcclose, nodev, nodev, /*38*/
pcioctl, nodev, pcselect, pcmmap,
0, spec_segmap,
},
{
cgfouropen, cgfourclose, nodev, nodev, /*39*/
cgfourioctl, nodev, seltrue, cgfourmmap,
0, spec_segmap,
},
{
nodev, nodev, nodev, nodev, /*40*/
nodev, nodev, nodev, 0,
snittab, 0,
},
{
dumpopen, nulldev, dumpread, dumpwrite, /*41*/
nodev, nulldev, nodev, 0,
0, 0,
},
{
xdopen, nulldev, xdread, xdwrite, /*42*/
xdioctl, nulldev, seltrue, 0,
0, 0,
},
{
hrcopen, hrcclose, hrcread, nodev, /*43*/
hrcioctl, nulldev, nodev, hrcmmap,
0, spec_segmap,
},
{
nodev, nodev, nodev, nodev, /*44*/
nodev, nodev, nodev, 0,
mcptab, 0,
},
{
ifdopen, ifdclose, ifdread, ifdwrite, /*45*/
ifdioctl, nulldev, ifdselect, 0,
0, 0,
},
{
dcpopen, dcpclose, dcpread, dcpwrite, /*46*/
dcpdioctl, nulldev, dcpselect, 0,
0, 0,
},
{
dnaopen, dnaclose, dnaread, dnawrite, /*47*/
dnaioctl, nulldev, dnaselect, 0,
0, 0,
},
{
tbiopen, tbiclose, tbiread, tbiwrite, /*48*/
tbidioctl, nulldev, nulldev, 0,
0, 0,
},
{
chatopen, chatclose, chatread, chatwrite, /*49*/
chatioctl, nulldev, chatselect, 0,
0, 0,
},
{
chutopen, chutclose, chutread, chutwrite, /*50*/
chutioctl, nulldev, chutselect, 0,
0, 0,
},
{
chutopen, chutclose, chutread, chutwrite, /*51*/
chutioctl, nulldev, chutselect, 0,
0, 0,
},
{
nodev, nodev, nodev, nodev, /*52*/
nodev, nodev, nodev, 0,
0, 0,
},
{
hdopen, nulldev, hdread, hdwrite, /*53*/
hdioctl, nulldev, seltrue, 0,
0, 0,
},
{
fdopen, fdclose, fdread, fdwrite, /*54*/
fdioctl, nulldev, seltrue, 0,
0, 0,
},
{
cgthreeopen, cgthreeclose, nodev, nodev, /*55*/
cgthreeioctl, nodev, seltrue, cgthreemmap,
0, spec_segmap,
},
{
ppopen, ppclose, nodev, ppwrite, /*56*/
ppioctl, nodev, nodev, 0,
0, 0,
},
{
vdopen, vdclose, nodev, nodev, /*57*/
vdioctl, nodev, nodev, 0,
0, 0,
},
{
sropen, srclose, srread, nodev, /*58*/
srioctl, nulldev, nulldev, 0,
0, 0,
},
{
vd_unuseddev, vd_unuseddev, vd_unuseddev, vd_unuseddev, /*59*/
vd_unuseddev, vd_unuseddev, vd_unuseddev, 0,
0, 0,
},
{
vd_unuseddev, vd_unuseddev, vd_unuseddev, vd_unuseddev, /*60*/
vd_unuseddev, vd_unuseddev, vd_unuseddev, 0,
0, 0,
},
{
vd_unuseddev, vd_unuseddev, vd_unuseddev, vd_unuseddev, /*61*/
vd_unuseddev, vd_unuseddev, vd_unuseddev, 0,
0, 0,
},
{
taacopen, taacclose, taacread, taacwrite, /*62*/
taacioctl, nodev, seltrue, taacmmap,
0, spec_segmap,
},
{
nodev, nodev, nodev, nodev, /*63*/
nodev, nodev, nodev, 0,
tcptlitab, 0,
},
{
cgeightopen, cgeightclose, nodev, nodev, /*64*/
cgeightioctl, nodev, seltrue, cgeightmmap,
0, spec_segmap,
},
/* unused major number (old IPI driver) */
{
nodev, nodev, nodev, nodev, /*65*/
nodev, nodev, nodev, 0,
0, 0,
},
/* mcp parallel printer port */
{
nodev, nodev, nodev, nodev, /*66*/
nodev, nodev, nodev, 0,
mcpptab, 0,
},
{
cgsixopen, cgsixclose, nodev, nodev, /*67*/
cgsixioctl, nodev, nodev, cgsixmmap,
0, cgsixsegmap,
},
{
cgnineopen, cgnineclose, nodev, nodev, /*68*/
cgnineioctl, nodev, nodev, cgninemmap,
0, spec_segmap,
},
{
acloneopen, nodev, nodev, nodev, /*69*/
nodev, nodev, nodev, 0,
0, 0,
},
{
opromopen, nulldev, nodev, nodev, /*70*/
opromioctl, nodev, nodev, 0,
0, 0,
},
{
sgopen, sgclose, sgread, sgwrite, /*71*/
sgioctl, nodev, nodev, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*72*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*73*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*74*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*75*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*76*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*77*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*78*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*79*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*80*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*81*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*82*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*83*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*84*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*85*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*86*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*87*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*88*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*89*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*90*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*91*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*92*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*93*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*94*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*95*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*96*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*97*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*98*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
idcopen, nulldev, idread, idwrite, /*99*/
idioctl, nulldev, seltrue, 0,
0, 0,
},
{
tvoneopen, tvoneclose, nodev, nodev, /*100*/
tvoneioctl, nodev, seltrue, tvonemmap,
0, 0,
},
{
vxopen, vxclose, vxread, vxwrite, /*101*/
vxioctl, nodev, seltrue, vxmmap,
0, vxsegmap,
},
{
cgtwelveopen, cgtwelveclose, nodev, nodev, /*102*/
cgtwelveioctl, nodev, nodev, cgtwelvemmap,
0, cgtwelvesegmap,
},
{
gtopen, gtclose, nodev, nodev, /*103*/
gtioctl, nodev, nodev, gtmmap,
0, gtsegmap,
},
{
nodev, nodev, nodev, nodev, /*104*/
nodev, nodev, nodev, 0,
lightpentab, 0,
},
{
nodev, nodev, nodev, nodev, /*105*/
nodev, nodev, nodev, 0,
audio_79C30tab, 0,
},
{
nodev, nodev, nodev, nodev, /*106*/
nodev, nodev, nodev, 0,
dbri_tab, 0,
},
{
bpp_open, bpp_close, bpp_read, bpp_write, /*107*/
bpp_ioctl, nulldev, seltrue, 0,
0, 0,
},
{
nodev, nodev, nodev, nodev, /*108*/
nodev, nodev, nodev, 0,
audio_4231tab, 0,
},
{
tcx_open, tcx_close, nulldev, nulldev, /*109*/
tcx_ioctl, nodev, seltrue, tcx_mmap,
0, 0,
},
};
int nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
int mem_no = 3; /* major device number of memory special file */
int dump_no = 41; /* major device number of dump special file */