Annotation of coherent/b/STREAMS/coh.386/var.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * var.c
        !             3:  *
        !             4:  * Coherent global variables.
        !             5:  */
        !             6: 
        !             7: #include <kernel/timeout.h>
        !             8: #include <kernel/systab.h>     
        !             9: #include <sys/coherent.h>
        !            10: #include <sys/buf.h>
        !            11: #include <sys/con.h>
        !            12: #include <sys/inode.h>
        !            13: #include <sys/mount.h>
        !            14: #include <sys/proc.h>
        !            15: #include <sys/ptrace.h>
        !            16: #include <sys/seg.h>
        !            17: #include <sys/mmu.h>
        !            18: #include <sys/clist.h>
        !            19: 
        !            20: 
        !            21: int    debflag = 0;                    /* coherent.h */
        !            22: 
        !            23: int    batflag;                        /* coherent.h */
        !            24: int    dev_loaded;                     /* coherent.h */
        !            25: int    outflag;                        /* coherent.h */
        !            26: int    ttyflag;                        /* coherent.h */
        !            27: unsigned utimer;                       /* coherent.h */
        !            28: long    lbolt;                         /* coherent.h */
        !            29: TIM    stimer;                         /* coherent.h */
        !            30: unsigned asize;                                /* coherent.h */
        !            31: paddr_t         clistp;                        /* coherent.h */
        !            32: MAKESR(blockp, _blockp);               /* coherent.h */
        !            33: MAKESR(allocp, _allocp);               /* coherent.h */
        !            34: heap_t       * allkp;                  /* coherent.h */
        !            35: #if USE_SLOT
        !            36: int    NSLOT   = 64;                   /* coherent.h */
        !            37: int    slotsz  = 64;                   /* coherent.h */
        !            38: int    *       slotp;                  /* coherent.h */
        !            39: #endif
        !            40: unsigned total_mem;                    /* coherent.h */
        !            41: 
        !            42: unsigned bufseqn;                      /* buf.h */
        !            43: int    bufneed;                        /* buf.h */
        !            44: BUF     swapbuf;                       /* buf.h */
        !            45: BUF    *bufl;                          /* buf.h */
        !            46: 
        !            47: int    cltwant;                        /* clist.h */
        !            48: cmap_t cltfree;                        /* clist.h */
        !            49: 
        !            50: INODE  *inodep;                        /* inode.h */
        !            51: INODE  *acctip;                        /* inode.h */
        !            52: 
        !            53: SYSMEM sysmem;                         /* mmu.h */
        !            54: MOUNT  *mountp;                        /* mount.h */
        !            55: 
        !            56: #ifdef TRACER                          /* mwc_coherent.h */
        !            57: unsigned t_errno = 0;
        !            58: unsigned t_hal = 0;
        !            59: unsigned t_piggy = 0;
        !            60: unsigned t_vlad =0;
        !            61: unsigned t_con =0;
        !            62: unsigned t_msgq =0;
        !            63: #endif /* TRACER */
        !            64: 
        !            65: int    ISTSIZE = 2048;                 /* sys/param.h */
        !            66: int    quantum;                        /* proc.h */
        !            67: int    disflag;                        /* proc.h */
        !            68: int    intflag;                        /* proc.h */
        !            69: int    cpid;                           /* proc.h */
        !            70: #if QWAKEUP
        !            71: int    ntowake;                        /* proc.h */
        !            72: #endif
        !            73: GATE   pnxgate;                        /* proc.h */
        !            74: PROC   procq;                          /* proc.h */
        !            75: PROC   *iprocp;                        /* proc.h */
        !            76: PROC   *eprocp;                        /* proc.h */
        !            77: PROC   *cprocp = &procq;               /* proc.h */
        !            78: PLINK  linkq[NHPLINK];                 /* proc.h */
        !            79: 
        !            80: struct ptrace pts;                     /* ptrace.h */
        !            81: 
        !            82: int    sexflag;                        /* seg.h */
        !            83: GATE   seglink;                        /* seg.h */
        !            84: #if    MONITOR
        !            85: int    swmflag;                        /* seg.h */
        !            86: #endif
        !            87: SEG    segswap;                        /* seg.h */
        !            88: SEG    segmq;                          /* seg.h */
        !            89: SEG    segdq;                          /* seg.h */
        !            90: SEG    segiom;                         /* seg.h */
        !            91: 
        !            92: extern caddr_t aicodep;
        !            93: extern caddr_t aicodes;
        !            94: 
        !            95: char    *icodep = (char *)&aicodep;    /* coherent.h */
        !            96: int    icodes = (int)&aicodes; /* coherent.h */
        !            97: 
        !            98: TIM *  timq[256];                      /* timeout.h */
        !            99: 
        !           100: int    vtactive;
        !           101: 
        !           102: /*
        !           103:  * System call functions.
        !           104:  */
        !           105: int    unone();
        !           106: int    unull();
        !           107: int    uexit();
        !           108: int    ufork();
        !           109: int    uread();
        !           110: int    uwrite();
        !           111: int    uopen();
        !           112: int    uclose();
        !           113: int    uwait();
        !           114: int    uwait386();
        !           115: int    ucreat();
        !           116: int    ulink();
        !           117: int    uunlink();
        !           118: int    uexece();
        !           119: int    uchdir();
        !           120: int    umknod();
        !           121: int    uchmod();
        !           122: int    uchown();
        !           123: char   *ubrk();
        !           124: int    ustat();
        !           125: long   ulseek();
        !           126: int    ugetpid();
        !           127: int    umount();
        !           128: int    uumount();
        !           129: int    usetuid();
        !           130: int    ugetuid();
        !           131: int    ustime();
        !           132: int    uptrace();
        !           133: int    ualarm();
        !           134: int    ufstat();
        !           135: int    upause();
        !           136: int    uutime();
        !           137: int    ustty();
        !           138: int    ugtty();
        !           139: int    uaccess();
        !           140: int    unice();
        !           141: int    uftime();
        !           142: int    usync();
        !           143: int    ukill();
        !           144: int    udup();
        !           145: int    upipe();
        !           146: int    utimes();
        !           147: int    utime();
        !           148: int    uprofil();
        !           149: int    usetgid();
        !           150: int    ugetgid();
        !           151: int    (*usigsys())();
        !           152: int    usload();
        !           153: int    usuload();
        !           154: int    uacct();
        !           155: int    ulock();
        !           156: int    uioctl();
        !           157: int    ugetegid();
        !           158: int    uumask();
        !           159: int    uchroot();
        !           160: int    ufcntl();
        !           161: int    usetpgrp();
        !           162: int    uulimit();
        !           163: int    ufcntl();
        !           164: int    upoll();
        !           165: int    upgrp();
        !           166: int    usysi86();
        !           167: int    umsgsys();
        !           168: int    ushmsys();
        !           169: int    uutssys();
        !           170: int    usemsys();
        !           171: int    urmdir();
        !           172: int    umkdir();
        !           173: int    ugetdents();
        !           174: int    ustatfs();
        !           175: int    ufstatfs();
        !           176: int    uadmin();
        !           177: /*
        !           178:  * Added by hal 91/10/10.
        !           179:  * These are undocumented Xenix/V7 compatibility calls.
        !           180:  */
        !           181: int    ustty();
        !           182: int    ugtty();
        !           183: 
        !           184: /*
        !           185:  * NIGEL: These are all defined in "i386/sys1632.c" for compatibility with
        !           186:  * the i286 system calls. There were dealt with by an ugly system, now very
        !           187:  * much cleaned up.
        !           188:  */
        !           189: 
        !           190: int    obrk ();
        !           191: int    ostat ();
        !           192: int    ostime ();
        !           193: int    ofstat ();
        !           194: int    oftime ();
        !           195: int    coh286dup ();
        !           196: int    opipe ();
        !           197: long   oalarm2 ();
        !           198: long   otick ();
        !           199: int    osetpgrp ();
        !           200: int    ogetpgrp ();
        !           201: int    ogeteuid ();
        !           202: int    ogetegid ();
        !           203: int    okill ();
        !           204: int    osignal ();
        !           205: long   olseek ();
        !           206: int    ounique();
        !           207: 
        !           208: 
        !           209: /*
        !           210:  * NIGEL: Use the following function to create static instances of system-
        !           211:  * call entry points properly. The extra cast on the function member is bad
        !           212:  * for error checking, but it's not as if there was any here before anyhow.
        !           213:  */
        !           214: 
        !           215: #define        SYSCALL(nargs,type,func) \
        !           216:        { nargs, __CONCAT (__SYSCALL_, type), (__sysfunc_t) func }
        !           217: 
        !           218: 
        !           219: /*
        !           220:  * System call table.
        !           221:  */
        !           222: 
        !           223: int    ucohcall();
        !           224: struct systab cohcall =        SYSCALL (6, INT, ucohcall);
        !           225: 
        !           226: struct systab sysitab [NMICALL] ={
        !           227:        SYSCALL (0, INT,  unone),               /*  0 = ??? */
        !           228:        SYSCALL (1, INT,  uexit),               /*  1 = exit */
        !           229:        SYSCALL (0, INT,  ufork),               /*  2 = fork */
        !           230:        SYSCALL (3, INT,  uread),               /*  3 = read */
        !           231:        SYSCALL (3, INT,  uwrite),              /*  4 = write */
        !           232:        SYSCALL (3, INT,  uopen),               /*  5 = open */
        !           233:        SYSCALL (1, INT,  uclose),              /*  6 = close */
        !           234:        SYSCALL (3, INT,  uwait386),            /*  7 = wait/waitpid */
        !           235:        SYSCALL (2, INT,  ucreat),              /*  8 = creat */
        !           236:        SYSCALL (2, INT,  ulink),               /*  9 = link */
        !           237:        SYSCALL (1, INT,  uunlink),             /* 10 = unlink */
        !           238:        SYSCALL (0, INT,  unone),               /* 11 = exec */
        !           239:        SYSCALL (1, INT,  uchdir),              /* 12 = chdir */
        !           240:        SYSCALL (0, INT,  utime),               /* 13 = utime */
        !           241:        SYSCALL (3, INT,  umknod),              /* 14 = mknod */
        !           242:        SYSCALL (2, INT,  uchmod),              /* 15 = chmod */
        !           243:        SYSCALL (3, INT,  uchown),              /* 16 = chown */
        !           244:        SYSCALL (1, INT,  ubrk),                /* 17 = break */
        !           245:        SYSCALL (2, INT,  ustat),               /* 18 = stat */
        !           246:        SYSCALL (3, LONG, ulseek),              /* 19 = lseek */
        !           247:        SYSCALL (0, INT,  ugetpid),             /* 20 = getpid */
        !           248:        SYSCALL (3, INT,  umount),              /* 21 = mount */
        !           249:        SYSCALL (1, INT,  uumount),             /* 22 = umount */
        !           250:        SYSCALL (1, INT,  usetuid),             /* 23 = setuid */
        !           251:        SYSCALL (0, INT,  ugetuid),             /* 24 = getuid */
        !           252:        SYSCALL (1, INT,  ustime),              /* 25 = stime */
        !           253:        SYSCALL (4, INT,  uptrace),             /* 26 = ptrace */
        !           254:        SYSCALL (1, INT,  ualarm),              /* 27 = alarm */
        !           255:        SYSCALL (2, INT,  ufstat),              /* 28 = fstat */
        !           256:        SYSCALL (0, INT,  upause),              /* 29 = pause */
        !           257:        SYSCALL (2, INT,  uutime),              /* 30 = utime */
        !           258:        SYSCALL (2, INT,  ustty),               /* 31 = ustty */
        !           259:        SYSCALL (2, INT,  ugtty),               /* 32 = ugtty */
        !           260:        SYSCALL (2, INT,  uaccess),             /* 33 = access */
        !           261:        SYSCALL (1, INT,  unice),               /* 34 = nice */
        !           262:        SYSCALL (4, INT,  ustatfs),             /* 35 = statfs */
        !           263:        SYSCALL (0, INT,  usync),               /* 36 = sync */
        !           264:        SYSCALL (2, INT,  ukill),               /* 37 = kill */
        !           265:        SYSCALL (4, INT,  ufstatfs),            /* 38 = ufstatfs */
        !           266:        SYSCALL (1, INT,  upgrp),               /* 39 = pgrp */
        !           267:        SYSCALL (0, LONG, unone),               /* 40 = ??? */
        !           268:        SYSCALL (1, INT,  udup),                /* 41 = dup */
        !           269:        SYSCALL (0, INT,  upipe),               /* 42 = pipe */
        !           270:        SYSCALL (1, INT,  utimes),              /* 43 = times */
        !           271:        SYSCALL (4, INT,  uprofil),             /* 44 = profil */
        !           272:        SYSCALL (1, INT,  ulock),               /* 45 = lock */
        !           273:        SYSCALL (1, INT,  usetgid),             /* 46 = setgid */
        !           274:        SYSCALL (0, INT,  ugetgid),             /* 47 = getgid */
        !           275:        SYSCALL (2, INT,  usigsys),             /* 48 = signal */
        !           276:        SYSCALL (6, LONG, umsgsys),             /* 49 = msgsys */
        !           277:        SYSCALL (5, LONG, usysi86),             /* 50 = sysi86 */       
        !           278:        SYSCALL (1, INT,  uacct),               /* 51 = acct */
        !           279:        SYSCALL (4, INT,  ushmsys),             /* 52 = shmsys */
        !           280:        SYSCALL (5, INT,  usemsys),             /* 53 = semsys */
        !           281:        SYSCALL (3, INT,  uioctl),              /* 54 = ioctl */
        !           282:        SYSCALL (3, INT,  uadmin),              /* 55 = uadmin */
        !           283:        SYSCALL (0, INT,  unone),               /* 56 = ??? */
        !           284:        SYSCALL (3, INT,  uutssys),             /* 57 = utssys */
        !           285:        SYSCALL (0, INT,  unone),               /* 58 = ??? */
        !           286:        SYSCALL (3, INT,  uexece),              /* 59 = exec */
        !           287:        SYSCALL (1, INT,  uumask),              /* 60 = umask */
        !           288:        SYSCALL (1, INT,  uchroot),             /* 61 = chroot */
        !           289:        SYSCALL (3, INT,  ufcntl),              /* 62 = fcntl */
        !           290:        SYSCALL (2, INT,  uulimit),             /* 63 = ulimit */
        !           291:        SYSCALL (0, INT,  unone),               /* 64 = ??? (sload) */
        !           292:        SYSCALL (0, INT,  unone),               /* 65 = ??? (suload */
        !           293:        SYSCALL (0, INT,  unone),               /* 66 = ??? (fcntl) */
        !           294:        SYSCALL (0, INT,  unone),               /* 67 = ??? (poll) */
        !           295:        SYSCALL (0, INT,  unone),               /* 68 = ??? (msgctl) */
        !           296:        SYSCALL (0, INT,  unone),               /* 69 = ??? (msgget) */
        !           297:        SYSCALL (0, INT,  unone),               /* 70 = ??? (msgrcv) */
        !           298:        SYSCALL (0, INT,  unone),               /* 71 = ??? (msgsnd) */
        !           299:        SYSCALL (0, LONG, unone),               /* 72 = ??? (alarm2) */
        !           300:        SYSCALL (0, LONG, unone),               /* 73 = tick  */
        !           301:        SYSCALL (0, INT,  unone),               /* 74 = ??? */
        !           302:        SYSCALL (0, INT,  unone),               /* 75 = ??? */
        !           303:        SYSCALL (0, INT,  unone),               /* 76 = ??? */
        !           304:        SYSCALL (0, INT,  unone),               /* 77 = ??? */
        !           305:        SYSCALL (0, INT,  unone),               /* 78 = ??? */
        !           306:        SYSCALL (1, INT,  urmdir),              /* 79 = rmdir */
        !           307:        SYSCALL (2, INT,  umkdir),              /* 80 = mkdir */
        !           308:        SYSCALL (3, INT,  ugetdents),           /* 81 = getdents */
        !           309:        SYSCALL (0, INT,  unone),               /* 82 = ??? */
        !           310:        SYSCALL (0, INT,  unone),               /* 83 = ??? */
        !           311:        SYSCALL (0, INT,  unone),               /* 84 = ??? */
        !           312:        SYSCALL (0, INT,  unone),               /* 85 = ??? */
        !           313:        SYSCALL (0, INT,  unone),               /* 86 = ??? */
        !           314:        SYSCALL (3, INT,  upoll)                /* 87 = poll */
        !           315: };
        !           316: 
        !           317: 
        !           318: /*
        !           319:  * Table for 286 system calls; the arguments of 286 system calls are zero-
        !           320:  * filled shorts.
        !           321:  *
        !           322:  * NIGEL: Since I built this table from the 386 table and a switch statement
        !           323:  * that dealt with the differences, we permit many calls here that are not
        !           324:  * part of the old 286 API. Of course, so did the code I based this on...
        !           325:  */
        !           326: 
        !           327: struct systab sys286tab [NMICALL] ={
        !           328:        SYSCALL (0, INT,  unone),               /*  0 = ??? */
        !           329:        SYSCALL (1, INT,  uexit),               /*  1 = exit */
        !           330:        SYSCALL (0, INT,  ufork),               /*  2 = fork */
        !           331:        SYSCALL (3, INT,  uread),               /*  3 = read */
        !           332:        SYSCALL (3, INT,  uwrite),              /*  4 = write */
        !           333:        SYSCALL (3, INT,  uopen),               /*  5 = open */
        !           334:        SYSCALL (1, INT,  uclose),              /*  6 = close */
        !           335:        SYSCALL (1, INT,  uwait),               /*  7 = wait */
        !           336:        SYSCALL (2, INT,  ucreat),              /*  8 = creat */
        !           337:        SYSCALL (2, INT,  ulink),               /*  9 = link */
        !           338:        SYSCALL (1, INT,  uunlink),             /* 10 = unlink */
        !           339:        SYSCALL (3, INT,  uexece),              /* 11 = 286 exece */
        !           340:        SYSCALL (1, INT,  uchdir),              /* 12 = chdir */
        !           341:        SYSCALL (0, INT,  utime),               /* 13 = utime */
        !           342:        SYSCALL (3, INT,  umknod),              /* 14 = mknod */
        !           343:        SYSCALL (2, INT,  uchmod),              /* 15 = chmod */
        !           344:        SYSCALL (3, INT,  uchown),              /* 16 = chown */
        !           345:        SYSCALL (1, INT,  obrk),                /* 17 = 286 break */
        !           346:        SYSCALL (2, INT,  ostat),               /* 18 = 286 stat */
        !           347:        SYSCALL (4, LONG, olseek),              /* 19 = 286 lseek */
        !           348:        SYSCALL (0, INT,  ugetpid),             /* 20 = getpid */
        !           349:        SYSCALL (3, INT,  umount),              /* 21 = mount */
        !           350:        SYSCALL (1, INT,  uumount),             /* 22 = umount */
        !           351:        SYSCALL (1, INT,  usetuid),             /* 23 = setuid */
        !           352:        SYSCALL (0, INT,  ugetuid),             /* 24 = getuid */
        !           353:        SYSCALL (1, INT,  ostime),              /* 25 = 286 stime */
        !           354:        SYSCALL (4, INT,  uptrace),             /* 26 = ptrace */
        !           355:        SYSCALL (1, INT,  ualarm),              /* 27 = alarm */
        !           356:        SYSCALL (2, INT,  ofstat),              /* 28 = 286 fstat */
        !           357:        SYSCALL (0, INT,  upause),              /* 29 = pause */
        !           358:        SYSCALL (2, INT,  uutime),              /* 30 = utime */
        !           359:        SYSCALL (2, INT,  ustty),               /* 31 = ustty */
        !           360:        SYSCALL (2, INT,  ugtty),               /* 32 = ugtty */
        !           361:        SYSCALL (2, INT,  uaccess),             /* 33 = access */
        !           362:        SYSCALL (1, INT,  unice),               /* 34 = nice */
        !           363:        SYSCALL (1, INT,  oftime),              /* 35 = 286 ftime */
        !           364:        SYSCALL (0, INT,  usync),               /* 36 = sync */
        !           365:        SYSCALL (2, INT,  ukill),               /* 37 = kill */
        !           366:        SYSCALL (4, INT,  ufstatfs),            /* 38 = ufstatfs */
        !           367:        SYSCALL (1, INT,  upgrp),               /* 39 = pgrp */
        !           368:        SYSCALL (0, INT,  unone),               /* 40 = ??? */
        !           369:        SYSCALL (2, INT,  coh286dup),           /* 41 = 286 dup */
        !           370:        SYSCALL (1, INT,  opipe),               /* 42 = 286 pipe */
        !           371:        SYSCALL (1, INT,  utimes),              /* 43 = times */
        !           372:        SYSCALL (4, INT,  uprofil),             /* 44 = profil */
        !           373:        SYSCALL (0, INT,  ounique),             /* 45 = unique */
        !           374:        SYSCALL (1, INT,  usetgid),             /* 46 = setgid */
        !           375:        SYSCALL (0, INT,  ugetgid),             /* 47 = getgid */
        !           376:        SYSCALL (2, INT,  osignal),             /* 48 = 286 signal */
        !           377:        SYSCALL (6, LONG, umsgsys),             /* 49 = msgsys */
        !           378:        SYSCALL (5, LONG, usysi86),             /* 50 = sysi86 */       
        !           379:        SYSCALL (1, INT,  uacct),               /* 51 = acct */
        !           380:        SYSCALL (4, INT,  ushmsys),             /* 52 = shmsys */
        !           381:        SYSCALL (1, INT,  ulock),               /* 53 = 286 ulock */
        !           382:        SYSCALL (3, INT,  uioctl),              /* 54 = ioctl */
        !           383:        SYSCALL (3, INT,  uadmin),              /* 55 = uadmin */
        !           384:        SYSCALL (0, INT,  ogetegid),            /* 56 = 286 getegid */
        !           385:        SYSCALL (0, INT,  ogeteuid),            /* 57 = 286 geteuid */
        !           386:        SYSCALL (0, INT,  unone),               /* 58 = ??? */
        !           387:        SYSCALL (3, INT,  uexece),              /* 59 = exec */
        !           388:        SYSCALL (1, INT,  uumask),              /* 60 = umask */
        !           389:        SYSCALL (1, INT,  uchroot),             /* 61 = chroot */
        !           390:        SYSCALL (0, INT,  osetpgrp),            /* 62 = 286 setpgrp */
        !           391:        SYSCALL (0, INT,  ogetpgrp),            /* 63 = 286 getpgrp */
        !           392:        SYSCALL (0, INT,  unone),               /* 64 = ??? (sload) */
        !           393:        SYSCALL (0, INT,  unone),               /* 65 = ??? (suload */
        !           394:        SYSCALL (3, INT,  ufcntl),              /* 66 = 286 fcntl */
        !           395:        SYSCALL (0, INT,  unone),               /* 67 = ??? (poll) */
        !           396:        SYSCALL (0, INT,  unone),               /* 68 = ??? (msgctl) */
        !           397:        SYSCALL (0, INT,  unone),               /* 69 = ??? (msgget) */
        !           398:        SYSCALL (0, INT,  unone),               /* 70 = ??? (msgrcv) */
        !           399:        SYSCALL (0, INT,  unone),               /* 71 = ??? (msgsnd) */
        !           400:        SYSCALL (1, LONG, oalarm2),             /* 72 = 286 alarm2 */
        !           401:        SYSCALL (0, LONG, otick),               /* 73 = 286 tick */
        !           402:        SYSCALL (0, INT,  unone),               /* 74 = ??? */
        !           403:        SYSCALL (0, INT,  unone),               /* 75 = ??? */
        !           404:        SYSCALL (0, INT,  unone),               /* 76 = ??? */
        !           405:        SYSCALL (0, INT,  unone),               /* 77 = ??? */
        !           406:        SYSCALL (0, INT,  unone),               /* 78 = ??? */
        !           407:        SYSCALL (1, INT,  urmdir),              /* 79 = rmdir */
        !           408:        SYSCALL (2, INT,  umkdir),              /* 80 = mkdir */
        !           409:        SYSCALL (3, INT,  ugetdents),           /* 81 = getdents */
        !           410:        SYSCALL (0, INT,  unone),               /* 82 = ??? */
        !           411:        SYSCALL (0, INT,  unone),               /* 83 = ??? */
        !           412:        SYSCALL (0, INT,  unone),               /* 84 = ??? */
        !           413:        SYSCALL (0, INT,  unone),               /* 85 = ??? */
        !           414:        SYSCALL (0, INT,  unone),               /* 86 = ??? */
        !           415:        SYSCALL (3, INT,  upoll)                /* 87 = poll */
        !           416: };
        !           417: 
        !           418: 
        !           419: /*
        !           420:  *  System Calls Numbers of the form 0x??28, where 0x?? >= 0x01
        !           421:  *  Assists the dispatching mechanism in i386/trap.c
        !           422:  */
        !           423: 
        !           424: int    uchsize();
        !           425: int    unap();
        !           426: 
        !           427: struct systab h28itab [H28CALL] = {
        !           428:        SYSCALL (0, INT,  unone),               /* 0x0128 = locking */
        !           429:        SYSCALL (0, INT,  unone),               /* 0x0228 = creatsem */
        !           430:        SYSCALL (0, INT,  unone),               /* 0x0328 = opensem */
        !           431:        SYSCALL (0, INT,  unone),               /* 0x0428 = sigsem */
        !           432:        SYSCALL (0, INT,  unone),               /* 0x0528 = waitsem */
        !           433:        SYSCALL (0, INT,  unone),               /* 0x0628 = nbwaitsem */
        !           434:        SYSCALL (0, INT,  unone),               /* 0x0728 = rdchk */
        !           435:        SYSCALL (0, INT,  unone),               /* 0x0828 = ??? */
        !           436:        SYSCALL (0, INT,  unone),               /* 0x0928 = ??? */
        !           437:        SYSCALL (2, INT,  uchsize),             /* 0x0A28 = chsize */
        !           438:        SYSCALL (0, INT,  unone),               /* 0x0B28 = ftime */
        !           439:        SYSCALL (1, INT,  unap),                /* 0x0C28 = nap */
        !           440:        SYSCALL (0, INT,  unone),               /* 0x0D28 = _sdget */
        !           441:        SYSCALL (0, INT,  unone),               /* 0x0E28 = sdfree */
        !           442:        SYSCALL (0, INT,  unone),               /* 0x0F28 = sdenter */
        !           443:        SYSCALL (0, INT,  unone),               /* 0x1028 = sdleave */
        !           444:        SYSCALL (0, INT,  unone),               /* 0x1128 = sdgetv */
        !           445:        SYSCALL (0, INT,  unone),               /* 0x1228 = sdwaitv */
        !           446:        SYSCALL (0, INT,  unone),               /* 0x1328 = ?? */
        !           447:        SYSCALL (0, INT,  unone),               /* 0x1428 = ?? */
        !           448:        SYSCALL (0, INT,  unone),               /* 0x1528 = ?? */
        !           449:        SYSCALL (0, INT,  unone),               /* 0x1628 = ?? */
        !           450:        SYSCALL (0, INT,  unone),               /* 0x1728 = ?? */
        !           451:        SYSCALL (0, INT,  unone),               /* 0x1828 = ?? */
        !           452:        SYSCALL (0, INT,  unone),               /* 0x1928 = ?? */
        !           453:        SYSCALL (0, INT,  unone),               /* 0x1A28 = ?? */
        !           454:        SYSCALL (0, INT,  unone),               /* 0x1B28 = ?? */
        !           455:        SYSCALL (0, INT,  unone),               /* 0x1C28 = ?? */
        !           456:        SYSCALL (0, INT,  unone),               /* 0x1D28 = ?? */
        !           457:        SYSCALL (0, INT,  unone),               /* 0x1E28 = ?? */
        !           458:        SYSCALL (0, INT,  unone),               /* 0x1F28 = ?? */
        !           459:        SYSCALL (0, INT,  unone),               /* 0x2028 = proctl */
        !           460:        SYSCALL (0, INT,  unone),               /* 0x2128 = execseg */
        !           461:        SYSCALL (0, INT,  unone),               /* 0x2228 = unexecseg */
        !           462:        SYSCALL (0, INT,  unone),               /* 0x2328 = ?? */
        !           463:        SYSCALL (0, INT,  unone),               /* 0x2428 = ?? */
        !           464:        SYSCALL (0, INT,  unone),               /* 0x2528 = ?? */
        !           465:        SYSCALL (0, INT,  unone),               /* 0x2628 = ?? */
        !           466:        SYSCALL (0, INT,  unone),               /* 0x2728 = sigaction */
        !           467:        SYSCALL (0, INT,  unone),               /* 0x2828 = sigprocmask */
        !           468:        SYSCALL (0, INT,  unone),               /* 0x2928 = sigpending */
        !           469:        SYSCALL (0, INT,  unone),               /* 0x2A28 = sigsuspend */
        !           470:        SYSCALL (0, INT,  unone),               /* 0x2B28 = getgroups */
        !           471:        SYSCALL (0, INT,  unone),               /* 0x2C28 = setgroups */
        !           472:        SYSCALL (0, INT,  unone),               /* 0x2D28 = sysconf */
        !           473:        SYSCALL (0, INT,  unone),               /* 0x2E28 = pathconf */
        !           474:        SYSCALL (0, INT,  unone),               /* 0x2F28 = fpathconf */
        !           475:        SYSCALL (0, INT,  unone)                /* 0x3028 = rename */
        !           476: };
        !           477: 
        !           478: extern CON nlcon;
        !           479: int    (*altclk)();            /* hook for polled devices */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.