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