1 /* 2 * unix6sys.h 4.1 82/05/12 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 MKNOD 14 19 #define BRK 17 20 #define STAT 18 21 #define SEEK 19 22 #define SETUID 23 23 #define GETUID 24 24 #define FSTAT 28 25 #define SLEEP 35 26 #define TELL 40 27 #define PIPE 42 28 #define TIMES 43 29 #define SETGID 46 30 #define GETGID 47 31 #define SIG 48 32 #define PWBSYS 57 33 #define UNAME 0 34 #define UDATA 1 35 #define USTAT 2 36 #define UTIME 3 37 /* 38 * The numerical entries in the following table are 39 * really composed of 2 parts. 40 * The first entry in each row indicates the number 41 * of register arguments for the system call, while 42 * the 2nd position is the number of memory arguments 43 * the 3rd position is LONGRET if the return is a long (ala time) 44 * or is TWORET if the return is 2 ints (ala pipe) 45 * otherwise it is NORMRET. 46 */ 47 int sysargs[][3] = 48 { 49 0, 0, NORMRET, /* 0 = indir */ 50 1, 0, NORMRET, /* 1 = exit */ 51 0, 0, NORMRET, /* 2 = fork */ 52 1, 2, NORMRET, /* 3 = read */ 53 1, 2, NORMRET, /* 4 = write */ 54 0, 2, NORMRET, /* 5 = open */ 55 1, 0, NORMRET, /* 6 = close */ 56 0, 0, TWORET, /* 7 = wait */ 57 0, 2, NORMRET, /* 8 = creat */ 58 0, 2, NORMRET, /* 9 = link */ 59 0, 1, NORMRET, /* 10 = unlink */ 60 0, 2, NORMRET, /* 11 = exec */ 61 0, 1, NORMRET, /* 12 = chdir */ 62 0, 0, LONGRET, /* 13 = time */ 63 0, 3, NORMRET, /* 14 = mknod */ 64 0, 2, NORMRET, /* 15 = chmod */ 65 0, 2, NORMRET, /* 16 = chown */ 66 0, 1, NORMRET, /* 17 = break */ 67 0, 2, NORMRET, /* 18 = stat */ 68 1, 2, NORMRET, /* 19 = seek */ 69 0, 0, NORMRET, /* 20 = getpid */ 70 0, 3, NORMRET, /* 21 = mount */ 71 0, 1, NORMRET, /* 22 = umount */ 72 1, 0, NORMRET, /* 23 = setuid */ 73 0, 0, NORMRET, /* 24 = getuid */ 74 2, 0, NORMRET, /* 25 = stime */ 75 1, 3, NORMRET, /* 26 = ptrace */ 76 1, 0, NORMRET, /* 27 = alarm */ 77 1, 1, NORMRET, /* 28 = fstat */ 78 0, 0, NORMRET, /* 29 = pause */ 79 1, 1, NORMRET, /* 30 = smdate */ 80 1, 1, NORMRET, /* 31 = stty */ 81 1, 1, NORMRET, /* 32 = gtty */ 82 0, 2, NORMRET, /* 33 = access */ 83 1, 0, NORMRET, /* 34 = nice */ 84 1, 0, NORMRET, /* 35 = sleep */ 85 0, 0, NORMRET, /* 36 = sync */ 86 1, 1, NORMRET, /* 37 = kill */ 87 0, 0, NORMRET, /* 38 = switch */ 88 ILLSYS, 0, NORMRET, /* 39 = x */ 89 1, 0, LONGRET, /* 40 = tell */ 90 1, 0, NORMRET, /* 41 = dup */ 91 0, 0, TWORET, /* 42 = pipe */ 92 0, 1, NORMRET, /* 43 = times */ 93 0, 4, NORMRET, /* 44 = prof */ 94 ILLSYS, 0, NORMRET, /* 45 = tiu */ 95 1, 0, NORMRET, /* 46 = setgid */ 96 0, 0, NORMRET, /* 47 = getgid */ 97 0, 2, NORMRET, /* 48 = sig */ 98 ILLSYS, 0, NORMRET, /* 49 = x */ 99 ILLSYS, 0, NORMRET, /* 50 = x */ 100 ILLSYS, 0, NORMRET, /* 51 = x */ 101 ILLSYS, 0, NORMRET, /* 52 = x */ 102 ILLSYS, 0, NORMRET, /* 53 = x */ 103 ILLSYS, 0, NORMRET, /* 54 = x */ 104 ILLSYS, 0, NORMRET, /* 55 = x */ 105 ILLSYS, 0, NORMRET, /* 56 = x */ 106 2, 1, NORMRET, /* 57 = pwbsys */ 107 ILLSYS, 0, NORMRET, /* 58 = x */ 108 ILLSYS, 0, NORMRET, /* 59 = x */ 109 ILLSYS, 0, NORMRET, /* 60 = x */ 110 ILLSYS, 0, NORMRET, /* 61 = x */ 111 0, 1, NORMRET, /* 62 = idisys */ 112 ILLSYS, 0, NORMRET /* 63 = x */ 113 }; 114