1*6804Srrh /* 2*6804Srrh * unix7sys.h 1.1 82/05/12 3*6804Srrh */ 4*6804Srrh #define NSYSTRAPS 64 5*6804Srrh #define NSIGS 13 6*6804Srrh #define ILLSYS -1 7*6804Srrh #define NORMRET 0 8*6804Srrh #define LONGRET 1 9*6804Srrh #define TWORET 2 10*6804Srrh #define FORK 2 11*6804Srrh #define OPEN 5 12*6804Srrh #define WAIT 7 13*6804Srrh #define CREAT 8 14*6804Srrh #define LINK 9 15*6804Srrh #define UNLNK 10 16*6804Srrh #define EXEC 11 17*6804Srrh #define CHDIR 12 18*6804Srrh #define MKNOD 14 19*6804Srrh #define BRK 17 20*6804Srrh #define STAT 18 21*6804Srrh #define SEEK 19 22*6804Srrh #define SETUID 23 23*6804Srrh #define GETUID 24 24*6804Srrh #define FSTAT 28 25*6804Srrh #define PIPE 42 26*6804Srrh #define TIMES 43 27*6804Srrh #define SETGID 46 28*6804Srrh #define GETGID 47 29*6804Srrh #define SIG 48 30*6804Srrh #define EXECE 59 31*6804Srrh /* 32*6804Srrh * The numerical entries in the following table are 33*6804Srrh * really composed of 3 parts. 34*6804Srrh * The first entry in each row indicates the number 35*6804Srrh * of register arguments for the system call, while 36*6804Srrh * the 2nd position is the number of memory arguments 37*6804Srrh * the 3rd position is LONGRET if the return is a long (r0 and r1) 38*6804Srrh * or is TWORET if the return is 2 ints ala pipe 39*6804Srrh * otherwise it is NORMRET. 40*6804Srrh */ 41*6804Srrh int sysargs[][3] = 42*6804Srrh { 43*6804Srrh 0, 0, NORMRET, /* 0 = indir */ 44*6804Srrh 1, 0, NORMRET, /* 1 = exit */ 45*6804Srrh 0, 0, NORMRET, /* 2 = fork */ 46*6804Srrh 1, 2, NORMRET, /* 3 = read */ 47*6804Srrh 1, 2, NORMRET, /* 4 = write */ 48*6804Srrh 0, 2, NORMRET, /* 5 = open */ 49*6804Srrh 1, 0, NORMRET, /* 6 = close */ 50*6804Srrh 0, 0, TWORET, /* 7 = wait */ 51*6804Srrh 0, 2, NORMRET, /* 8 = creat */ 52*6804Srrh 0, 2, NORMRET, /* 9 = link */ 53*6804Srrh 0, 1, NORMRET, /* 10 = unlink */ 54*6804Srrh 0, 2, NORMRET, /* 11 = exec */ 55*6804Srrh 0, 1, NORMRET, /* 12 = chdir */ 56*6804Srrh 0, 0, LONGRET, /* 13 = time */ 57*6804Srrh 0, 3, NORMRET, /* 14 = mknod */ 58*6804Srrh 0, 2, NORMRET, /* 15 = chmod */ 59*6804Srrh 0, 3, NORMRET, /* 16 = chown; now 3 args */ 60*6804Srrh 0, 1, NORMRET, /* 17 = break */ 61*6804Srrh 0, 2, NORMRET, /* 18 = stat */ 62*6804Srrh 1, 3, LONGRET, /* 19 = seek; now 3 args */ 63*6804Srrh 0, 0, NORMRET, /* 20 = getpid */ 64*6804Srrh 0, 3, NORMRET, /* 21 = mount */ 65*6804Srrh 0, 1, NORMRET, /* 22 = umount */ 66*6804Srrh 1, 0, NORMRET, /* 23 = setuid */ 67*6804Srrh 0, 0, TWORET, /* 24 = getuid */ 68*6804Srrh 2, 0, NORMRET, /* 25 = stime */ 69*6804Srrh 1, 3, NORMRET, /* 26 = ptrace */ 70*6804Srrh 1, 0, NORMRET, /* 27 = alarm */ 71*6804Srrh 1, 1, NORMRET, /* 28 = fstat */ 72*6804Srrh 0, 0, NORMRET, /* 29 = pause */ 73*6804Srrh 0, 2, NORMRET, /* 30 = utime */ 74*6804Srrh 1, 1, NORMRET, /* 31 = stty */ 75*6804Srrh 1, 1, NORMRET, /* 32 = gtty */ 76*6804Srrh 0, 2, NORMRET, /* 33 = access */ 77*6804Srrh 1, 0, NORMRET, /* 34 = nice */ 78*6804Srrh 0, 1, NORMRET, /* 35 = ftime; formerly sleep */ 79*6804Srrh 0, 0, NORMRET, /* 36 = sync */ 80*6804Srrh 1, 1, NORMRET, /* 37 = kill */ 81*6804Srrh 0, 0, NORMRET, /* 38 = switch; inoperative */ 82*6804Srrh 0, 0, NORMRET, /* 39 = setpgrp (not in yet) */ 83*6804Srrh ILLSYS, 0, NORMRET, /* 40 = tell (obsolete) */ 84*6804Srrh 2, 0, NORMRET, /* 41 = dup */ 85*6804Srrh 0, 0, TWORET, /* 42 = pipe */ 86*6804Srrh 0, 1, NORMRET, /* 43 = times */ 87*6804Srrh 0, 4, NORMRET, /* 44 = prof */ 88*6804Srrh ILLSYS, 0, NORMRET, /* 45 = unused */ 89*6804Srrh 1, 0, NORMRET, /* 46 = setgid */ 90*6804Srrh 0, 0, TWORET, /* 47 = getgid */ 91*6804Srrh 0, 2, NORMRET, /* 48 = sig */ 92*6804Srrh ILLSYS, 0, NORMRET, /* 49 = reserved for USG */ 93*6804Srrh ILLSYS, 0, NORMRET, /* 50 = reserved for USG */ 94*6804Srrh 0, 1, NORMRET, /* 51 = turn acct off/on */ 95*6804Srrh 0, 3, NORMRET, /* 52 = set user physical addresses */ 96*6804Srrh 0, 1, NORMRET, /* 53 = lock user in core */ 97*6804Srrh 0, 3, NORMRET, /* 54 = ioctl */ 98*6804Srrh ILLSYS, 0, NORMRET, /* 55 = readwrite (in abeyance) */ 99*6804Srrh 0, 4, NORMRET, /* 56 = creat mpx comm channel */ 100*6804Srrh ILLSYS, 0, NORMRET, /* 57 = reserved for USG */ 101*6804Srrh ILLSYS, 0, NORMRET, /* 58 = reserved for USG */ 102*6804Srrh 0, 3, NORMRET, /* 59 = exece */ 103*6804Srrh 0, 1, NORMRET, /* 60 = umask */ 104*6804Srrh 0, 1, NORMRET, /* 61 = chroot */ 105*6804Srrh ILLSYS, 0, NORMRET, /* 62 = x */ 106*6804Srrh ILLSYS, 0, NORMRET /* 63 = used internally */ 107*6804Srrh }; 108