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