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