home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 202.img / SCO386N2.TD0 / usr / sys / conf / c.c next >
Encoding:
C/C++ Source or Header  |  1988-07-12  |  11.9 KB  |  482 lines

  1. /*
  2.  *  Configuration information
  3.  */
  4.  
  5.  
  6.  
  7. #include    "../h/param.h"
  8. #include    "../h/types.h"
  9. #include    "../h/sysmacros.h"
  10. #include    "../h/conf.h"
  11. #include    "../h/iobuf.h"
  12. #include    "../h/tty.h"
  13.  
  14. extern nodev(), nulldev(), novec();
  15.  
  16.  
  17. int    clock();
  18. int    cnintr();
  19. int    siointr();
  20. int    siointr();
  21. int    paintr();
  22. int    flintr();
  23. int    paintr();
  24. int    siointr();
  25. int    siointr();
  26. int    fpuintr();
  27. int    wd0intr();
  28. int    wd1intr();
  29.  
  30.  
  31. uchar_t     vecintflags[] =
  32. {
  33.     SWITCH_INTR|CLOCK_INTR,
  34.     SWITCH_INTR,
  35.     FAST_INTR,
  36.     FAST_INTR,
  37.     FAST_INTR,
  38.     SWITCH_INTR,
  39.     SWITCH_INTR,
  40.     SWITCH_INTR,
  41.     FAST_INTR,
  42.     FAST_INTR,
  43.     FAST_INTR,
  44.     FAST_INTR,
  45.     FAST_INTR,
  46.     FAST_INTR,
  47.     FAST_INTR,
  48.     FAST_INTR,
  49.     FAST_INTR,
  50.     FAST_INTR,
  51.     FAST_INTR,
  52.     FAST_INTR,
  53.     FAST_INTR,
  54.     FAST_INTR,
  55.     FAST_INTR,
  56.     FAST_INTR,
  57.     FAST_INTR,
  58.     FAST_INTR,
  59.     FAST_INTR,
  60.     FAST_INTR,
  61.     FAST_INTR,
  62.     FAST_INTR,
  63.     SWITCH_INTR,
  64.     SWITCH_INTR,
  65.     FAST_INTR,
  66.     FAST_INTR,
  67.     FAST_INTR,
  68.     FAST_INTR,
  69.     FAST_INTR,
  70.     FAST_INTR,
  71.     FAST_INTR,
  72.     FAST_INTR,
  73.     FAST_INTR,
  74.     FAST_INTR,
  75.     FAST_INTR,
  76.     FAST_INTR,
  77.     FAST_INTR,
  78.     FAST_INTR,
  79.     FAST_INTR,
  80.     FAST_INTR,
  81.     FAST_INTR,
  82.     FAST_INTR,
  83.     FAST_INTR,
  84.     FAST_INTR,
  85.     FAST_INTR,
  86.     FAST_INTR,
  87.     FAST_INTR,
  88.     FAST_INTR,
  89.     FAST_INTR,
  90.     FAST_INTR,
  91.     FAST_INTR,
  92.     FAST_INTR,
  93.     FAST_INTR,
  94.     FAST_INTR,
  95.     FAST_INTR,
  96.     FAST_INTR,
  97.     FAST_INTR,
  98.     FAST_INTR,
  99.     FAST_INTR,
  100.     FAST_INTR,
  101.     FAST_INTR,
  102.     FAST_INTR,
  103.     FAST_INTR,
  104.     FAST_INTR,
  105. };
  106.  
  107.  
  108.  
  109. uchar_t     vecintlev[] =
  110. {
  111.     6,
  112.     1,
  113.     0,
  114.     7,
  115.     7,
  116.     2,
  117.     5,
  118.     2,
  119.     0,
  120.     0,
  121.     0,
  122.     0,
  123.     0,
  124.     0,
  125.     0,
  126.     0,
  127.     0,
  128.     0,
  129.     0,
  130.     0,
  131.     0,
  132.     0,
  133.     0,
  134.     0,
  135.     0,
  136.     0,
  137.     0,
  138.     7,
  139.     7,
  140.     1,
  141.     5,
  142.     5,
  143.     0,
  144.     0,
  145.     0,
  146.     0,
  147.     0,
  148.     0,
  149.     0,
  150.     0,
  151.     0,
  152.     0,
  153.     0,
  154.     0,
  155.     0,
  156.     0,
  157.     0,
  158.     0,
  159.     0,
  160.     0,
  161.     0,
  162.     0,
  163.     0,
  164.     0,
  165.     0,
  166.     0,
  167.     0,
  168.     0,
  169.     0,
  170.     0,
  171.     0,
  172.     0,
  173.     0,
  174.     0,
  175.     0,
  176.     0,
  177.     0,
  178.     0,
  179.     0,
  180.     0,
  181.     0,
  182.     0,
  183. };
  184.  
  185.  
  186.  
  187. int     (*vecintsw[])() =
  188. {
  189.     clock,
  190.     cnintr,
  191.     novec,
  192.     siointr,
  193.     siointr,
  194.     paintr,
  195.     flintr,
  196.     paintr,
  197.     novec,
  198.     novec,
  199.     novec,
  200.     novec,
  201.     novec,
  202.     novec,
  203.     novec,
  204.     novec,
  205.     novec,
  206.     novec,
  207.     novec,
  208.     novec,
  209.     novec,
  210.     novec,
  211.     novec,
  212.     novec,
  213.     novec,
  214.     novec,
  215.     novec,
  216.     siointr,
  217.     siointr,
  218.     fpuintr,
  219.     wd0intr,
  220.     wd1intr,
  221.     novec,
  222.     novec,
  223.     novec,
  224.     novec,
  225.     novec,
  226.     novec,
  227.     novec,
  228.     novec,
  229.     novec,
  230.     novec,
  231.     novec,
  232.     novec,
  233.     novec,
  234.     novec,
  235.     novec,
  236.     novec,
  237.     novec,
  238.     novec,
  239.     novec,
  240.     novec,
  241.     novec,
  242.     novec,
  243.     novec,
  244.     novec,
  245.     novec,
  246.     novec,
  247.     novec,
  248.     novec,
  249.     novec,
  250.     novec,
  251.     novec,
  252.     novec,
  253.     novec,
  254.     novec,
  255.     novec,
  256.     novec,
  257.     novec,
  258.     novec,
  259.     novec,
  260.     novec,
  261. };
  262.  
  263. extern fpuinit();
  264. extern struct iobuf fltab;
  265. extern flopen(), flclose(), flinit(), flhalt(), flread(), flwrite(), flioctl(), flstrategy();
  266. extern struct iobuf wd0tab;
  267. extern wd0open(), wd0halt(), wd0read(), wd0write(), wd0ioctl(), wd0strategy();
  268. extern struct tty sio_tty[];
  269. extern sioopen(), sioclose(), sioinit(), siopoll(), sioread(), siowrite(), sioioctl();
  270. extern paopen(), paclose(), painit(), pawrite(), paioctl();
  271. extern mmread(), mmwrite();
  272. extern cdbread(), cdbwrite();
  273. extern rtcread(), rtcwrite();
  274. extern erropen(), errclose(), errinit(), errread(), errioctl();
  275. extern sxtopen(), sxtclose(), sxtread(), sxtwrite(), sxtioctl();
  276. extern struct iobuf ramtab;
  277. extern ramopen(), ramclose(), ramstrategy();
  278. extern struct streamtab spinfo;
  279. extern struct streamtab timinfo;
  280. extern struct streamtab trwinfo;
  281. extern struct streamtab clninfo;
  282. extern struct streamtab loginfo;
  283. extern daopen(), daclose(), dawrite(), daioctl();
  284. extern struct iobuf wd1tab;
  285. extern wd1open(), wd1halt(), wd1read(), wd1write(), wd1ioctl(), wd1strategy();
  286. extern sptopen(), sptclose(), sptread(), sptwrite(), sptioctl();
  287. extern mptopen(), mptclose(), mptread(), mptwrite(), mptioctl();
  288. extern struct tty cn_tty[];
  289. extern cnopen(), cnclose(), cninit(), cnread(), cnwrite(), cnioctl();
  290. extern syopen(), syclose(), syread(), sywrite(), syioctl();
  291.  
  292. int    (*dinitsw[])()=
  293. {
  294.     fpuinit,
  295.     flinit,
  296.     sioinit,
  297.     painit,
  298.     errinit,
  299.     cninit,
  300.     (int (*)())0
  301. };
  302.  
  303. int    (*dhaltsw[])()=
  304. {
  305.     flhalt,
  306.     wd0halt,
  307.     wd1halt,
  308.     (int (*)())0
  309. };
  310.  
  311. int    (*dpollsw[])()=
  312. {
  313.     siopoll,
  314.     (int (*)())0
  315. };
  316.  
  317. int    (*dswtchsw[])()=
  318. {
  319.     (int (*)())0
  320. };
  321.  
  322. struct    bdevsw bdevsw[]=
  323. {
  324. /* 0*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  325. /* 1*/ "hd"    , wd0open , nulldev  , wd0strategy , &wd0tab ,
  326. /* 2*/ "fd"    , flopen  , flclose  , flstrategy  , &fltab  ,
  327. /* 3*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  328. /* 4*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  329. /* 5*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  330. /* 6*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  331. /* 7*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  332. /* 8*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  333. /* 9*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  334. /*10*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  335. /*11*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  336. /*12*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  337. /*13*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  338. /*14*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  339. /*15*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  340. /*16*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  341. /*17*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  342. /*18*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  343. /*19*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  344. /*20*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  345. /*21*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  346. /*22*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  347. /*23*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  348. /*24*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  349. /*25*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  350. /*26*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  351. /*27*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  352. /*28*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  353. /*29*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  354. /*30*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  355. /*31*/ "ram"   , ramopen , ramclose , ramstrategy , &ramtab ,
  356. /*32*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  357. /*33*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  358. /*34*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  359. /*35*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  360. /*36*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  361. /*37*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  362. /*38*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  363. /*39*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  364. /*40*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  365. /*41*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  366. /*42*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  367. /*43*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  368. /*44*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  369. /*45*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  370. /*46*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  371. /*47*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  372. /*48*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  373. /*49*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  374. /*50*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  375. /*51*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  376. /*52*/ 0       , nodev   , nodev    , nodev       ,  0      ,
  377. /*53*/ "wd1"   , wd1open , nulldev  , wd1strategy , &wd1tab ,
  378. };
  379.  
  380. struct    cdevsw cdevsw[]=
  381. {
  382. /* 0*/ "scrn"  , cnopen  , cnclose  , cnread  , cnwrite  , cnioctl  , cn_tty,0,
  383. /* 1*/ "hd"    , wd0open , nulldev  , wd0read , wd0write , wd0ioctl , 0,0,
  384. /* 2*/ "fd"    , flopen  , flclose  , flread  , flwrite  , flioctl  , 0,0,
  385. /* 3*/ "tty"   , syopen  , syclose  , syread  , sywrite  , syioctl  , 0,0,
  386. /* 4*/ "memory" , nulldev , nulldev  , mmread  , mmwrite  , nodev    , 0,0,
  387. /* 5*/ "sio"   , sioopen , sioclose , sioread , siowrite , sioioctl , sio_tty,0,
  388. /* 6*/ "pa"    , paopen  , paclose  , nodev   , pawrite  , paioctl  , 0,0,
  389. /* 7*/ "cdb"   , nulldev , nulldev  , cdbread , cdbwrite , nodev    , 0,0,
  390. /* 8*/ "rtc"   , nulldev , nulldev  , rtcread , rtcwrite , nodev    , 0,0,
  391. /* 9*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  392. /*10*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  393. /*11*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  394. /*12*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  395. /*13*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  396. /*14*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  397. /*15*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  398. /*16*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  399. /*17*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  400. /*18*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  401. /*19*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  402. /*20*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  403. /*21*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  404. /*22*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  405. /*23*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  406. /*24*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  407. /*25*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  408. /*26*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  409. /*27*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  410. /*28*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  411. /*29*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  412. /*30*/ "sxt"   , sxtopen , sxtclose , sxtread , sxtwrite , sxtioctl , 0,0,
  413. /*31*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  414. /*32*/ "err"   , erropen , errclose , errread , nodev    , errioctl , 0,0,
  415. /*33*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  416. /*34*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  417. /*35*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  418. /*36*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  419. /*37*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  420. /*38*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  421. /*39*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  422. /*40*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  423. /*41*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  424. /*42*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  425. /*43*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  426. /*44*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  427. /*45*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  428. /*46*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  429. /*47*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  430. /*48*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  431. /*49*/ 0       , nodev   , nodev    , nodev   , nodev    , nodev    , 0,0,
  432. /*50*/ "CLONE" , nulldev , nulldev  , nodev   , nodev    , nodev    , 0,&clninfo,
  433. /*51*/ "LOG"   , nulldev , nulldev  , nodev   , nodev    , nodev    , 0,&loginfo,
  434. /*52*/ "da"    , daopen  , daclose  , nodev   , dawrite  , daioctl  , 0,0,
  435. /*53*/ "wd1"   , wd1open , nulldev  , wd1read , wd1write , wd1ioctl , 0,0,
  436. /*54*/ "spt"   , sptopen , sptclose , sptread , sptwrite , sptioctl , 0,0,
  437. /*55*/ "mpt"   , mptopen , mptclose , mptread , mptwrite , mptioctl , 0,0,
  438. };
  439.  
  440. struct    fmodsw fmodsw[]=
  441. {
  442. /* 0*/ "sp"    , &spinfo   , 
  443. /* 1*/ "timod" , &timinfo  , 
  444. /* 2*/ "tirdwr" , &trwinfo  , 
  445. };
  446.  
  447. int    bdevcnt=    54;
  448. int    cdevcnt=    56;
  449. int    fmodcnt=    3;
  450.  
  451. int    bdevmax=    54;
  452. int    cdevmax=    56;
  453.  
  454. dev_t    rootdev=    makedev(1,40);
  455. dev_t    pipedev=    makedev(1,40);
  456. dev_t    swapdev=    makedev(1,41);
  457. daddr_t    swplo=    0;
  458. int    nswap=    0;
  459.  
  460.  
  461. int    ttopen(), ttclose(), ttread(), ttwrite(), ttioctl(), ttin(), ttout();
  462.  
  463.  
  464. int    sxtrwrite(), sxtin(), sxtout();
  465.  
  466. struct linesw linesw[]=
  467. {
  468. /*0*/ ttopen, ttclose, ttread, ttwrite, ttioctl, ttin, ttout, nulldev,
  469. /*1*/ nulldev, nulldev, nulldev, sxtrwrite, nulldev, sxtin, sxtout, nulldev,
  470.         0
  471. };
  472.  
  473. int    linecnt = 2;
  474.  
  475. extern    nulldev();
  476.  
  477. struct evdevsw evdevsw[]=
  478. {
  479.     "unknown",    nulldev,
  480.     0
  481. };
  482.