16802Srrh /* 2*14308Skre * unix6sys.h 4.2 83/07/31 36802Srrh */ 46802Srrh #define NSYSTRAPS 64 56802Srrh #define NSIGS 13 66802Srrh #define ILLSYS -1 76802Srrh #define NORMRET 0 86802Srrh #define LONGRET 1 96802Srrh #define TWORET 2 106802Srrh #define FORK 2 116802Srrh #define OPEN 5 126802Srrh #define WAIT 7 136802Srrh #define CREAT 8 146802Srrh #define LINK 9 156802Srrh #define UNLNK 10 166802Srrh #define EXEC 11 176802Srrh #define CHDIR 12 18*14308Skre #define TIME 13 196802Srrh #define MKNOD 14 206802Srrh #define BRK 17 216802Srrh #define STAT 18 226802Srrh #define SEEK 19 236802Srrh #define SETUID 23 246802Srrh #define GETUID 24 25*14308Skre #define STIME 25 266802Srrh #define FSTAT 28 27*14308Skre #define STTY 31 28*14308Skre #define GTTY 32 29*14308Skre #define NICE 34 306802Srrh #define SLEEP 35 316802Srrh #define TELL 40 326802Srrh #define PIPE 42 336802Srrh #define TIMES 43 346802Srrh #define SETGID 46 356802Srrh #define GETGID 47 366802Srrh #define SIG 48 376802Srrh #define PWBSYS 57 386802Srrh #define UNAME 0 396802Srrh #define UDATA 1 406802Srrh #define USTAT 2 416802Srrh #define UTIME 3 426802Srrh /* 436802Srrh * The numerical entries in the following table are 446802Srrh * really composed of 2 parts. 456802Srrh * The first entry in each row indicates the number 466802Srrh * of register arguments for the system call, while 476802Srrh * the 2nd position is the number of memory arguments 486802Srrh * the 3rd position is LONGRET if the return is a long (ala time) 496802Srrh * or is TWORET if the return is 2 ints (ala pipe) 506802Srrh * otherwise it is NORMRET. 516802Srrh */ 526802Srrh int sysargs[][3] = 536802Srrh { 546802Srrh 0, 0, NORMRET, /* 0 = indir */ 556802Srrh 1, 0, NORMRET, /* 1 = exit */ 566802Srrh 0, 0, NORMRET, /* 2 = fork */ 576802Srrh 1, 2, NORMRET, /* 3 = read */ 586802Srrh 1, 2, NORMRET, /* 4 = write */ 596802Srrh 0, 2, NORMRET, /* 5 = open */ 606802Srrh 1, 0, NORMRET, /* 6 = close */ 616802Srrh 0, 0, TWORET, /* 7 = wait */ 626802Srrh 0, 2, NORMRET, /* 8 = creat */ 636802Srrh 0, 2, NORMRET, /* 9 = link */ 646802Srrh 0, 1, NORMRET, /* 10 = unlink */ 656802Srrh 0, 2, NORMRET, /* 11 = exec */ 666802Srrh 0, 1, NORMRET, /* 12 = chdir */ 676802Srrh 0, 0, LONGRET, /* 13 = time */ 686802Srrh 0, 3, NORMRET, /* 14 = mknod */ 696802Srrh 0, 2, NORMRET, /* 15 = chmod */ 706802Srrh 0, 2, NORMRET, /* 16 = chown */ 716802Srrh 0, 1, NORMRET, /* 17 = break */ 726802Srrh 0, 2, NORMRET, /* 18 = stat */ 736802Srrh 1, 2, NORMRET, /* 19 = seek */ 746802Srrh 0, 0, NORMRET, /* 20 = getpid */ 756802Srrh 0, 3, NORMRET, /* 21 = mount */ 766802Srrh 0, 1, NORMRET, /* 22 = umount */ 776802Srrh 1, 0, NORMRET, /* 23 = setuid */ 786802Srrh 0, 0, NORMRET, /* 24 = getuid */ 796802Srrh 2, 0, NORMRET, /* 25 = stime */ 806802Srrh 1, 3, NORMRET, /* 26 = ptrace */ 816802Srrh 1, 0, NORMRET, /* 27 = alarm */ 826802Srrh 1, 1, NORMRET, /* 28 = fstat */ 836802Srrh 0, 0, NORMRET, /* 29 = pause */ 846802Srrh 1, 1, NORMRET, /* 30 = smdate */ 856802Srrh 1, 1, NORMRET, /* 31 = stty */ 866802Srrh 1, 1, NORMRET, /* 32 = gtty */ 876802Srrh 0, 2, NORMRET, /* 33 = access */ 886802Srrh 1, 0, NORMRET, /* 34 = nice */ 896802Srrh 1, 0, NORMRET, /* 35 = sleep */ 906802Srrh 0, 0, NORMRET, /* 36 = sync */ 916802Srrh 1, 1, NORMRET, /* 37 = kill */ 926802Srrh 0, 0, NORMRET, /* 38 = switch */ 936802Srrh ILLSYS, 0, NORMRET, /* 39 = x */ 946802Srrh 1, 0, LONGRET, /* 40 = tell */ 956802Srrh 1, 0, NORMRET, /* 41 = dup */ 966802Srrh 0, 0, TWORET, /* 42 = pipe */ 976802Srrh 0, 1, NORMRET, /* 43 = times */ 986802Srrh 0, 4, NORMRET, /* 44 = prof */ 996802Srrh ILLSYS, 0, NORMRET, /* 45 = tiu */ 1006802Srrh 1, 0, NORMRET, /* 46 = setgid */ 1016802Srrh 0, 0, NORMRET, /* 47 = getgid */ 1026802Srrh 0, 2, NORMRET, /* 48 = sig */ 1036802Srrh ILLSYS, 0, NORMRET, /* 49 = x */ 1046802Srrh ILLSYS, 0, NORMRET, /* 50 = x */ 1056802Srrh ILLSYS, 0, NORMRET, /* 51 = x */ 1066802Srrh ILLSYS, 0, NORMRET, /* 52 = x */ 1076802Srrh ILLSYS, 0, NORMRET, /* 53 = x */ 1086802Srrh ILLSYS, 0, NORMRET, /* 54 = x */ 1096802Srrh ILLSYS, 0, NORMRET, /* 55 = x */ 1106802Srrh ILLSYS, 0, NORMRET, /* 56 = x */ 1116802Srrh 2, 1, NORMRET, /* 57 = pwbsys */ 1126802Srrh ILLSYS, 0, NORMRET, /* 58 = x */ 1136802Srrh ILLSYS, 0, NORMRET, /* 59 = x */ 1146802Srrh ILLSYS, 0, NORMRET, /* 60 = x */ 1156802Srrh ILLSYS, 0, NORMRET, /* 61 = x */ 1166802Srrh 0, 1, NORMRET, /* 62 = idisys */ 1176802Srrh ILLSYS, 0, NORMRET /* 63 = x */ 1186802Srrh }; 119