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