freebsd-dev/sys/i386/ibcs2/syscalls.master
Steven Wallace 9e03db613c Remove old files no longer needed.
Add new files created for emulator.
Modify NetBSD import to work with FreeBSD and add new features and
code.  The complete emulator is essentially a combination of work/code
implemented by Sean Eric Fagan, Soren Schmidt, Scott Bartram, and myself,
Steven Wallace.

Features of this new emulator system include:

 o  "clean" code, including strict prototyping.
 o  Auto-generation of ibcs2 system calls, xenix system calls, isc system
calls.  Generation includes system tables, structure definitions,
and prototyping of function calls.
 o  ibcs2 emulator does not rely on any COMPAT_43 system calls.
 o  embedded socksys support
 o  ibcs2 msgsys, semsys, shmsys calls supported if supported in kernel
 o  alternate /emul/ibcs2 namespace searched first for files in ibcs2
system.  Usefull to keep sysv libraries, binaries in /emul/ibcs2.
 o  many other finer details and functions fixed or implemented.
1995-10-10 07:59:30 +00:00

194 lines
7.3 KiB
Plaintext

$Id: syscalls.master,v 1.1 1995/10/06 15:12:52 swallace Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
; System call name/number master file (or rather, slave, from IBCS2).
; Processed to created ibcs2_sysent.c, ibcs2_syscalls.c and ibcs2_syscall.h.
; Columns: number type nargs namespc name alt{name,tag,rtyp}/comments
; number system call number, must be in order
; type one of STD, OBSOL, UNIMPL, COMPAT
; namespc one of POSIX, BSD, SVR3, SCO, NOHIDE
; name psuedo-prototype of syscall routine
; If one of the following alts is different, then all appear:
; altname name of system call if different
; alttag name of args struct tag if different from [o]`name'"_args"
; altrtyp return type if not int (bogus - syscalls always return int)
; for UNIMPL/OBSOL, name continues with comments
; types:
; STD always included
; COMPAT included on COMPAT #ifdef
; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
; OBSOL obsolete, not included in system, only specifies name
; UNIMPL not implemented, placeholder only
#include <sys/types.h>
#include <sys/param.h>
#include <sys/sysent.h>
#include <sys/sysproto.h>
#include <i386/ibcs2/ibcs2_types.h>
#include <i386/ibcs2/ibcs2_signal.h>
#include <i386/ibcs2/ibcs2_statfs.h>
#include <i386/ibcs2/ibcs2_proto.h>
; #ifdef's, etc. may be included, and are copied to the output files.
0 NOPROTO NOHIDE { int nosys(void); } syscall nosys_args int
1 NOPROTO NOHIDE { int exit(int rval); }
2 NOPROTO POSIX { int fork(void); }
3 STD POSIX { int ibcs2_read(int fd, char *buf, u_int nbytes); }
4 NOPROTO POSIX { int write(int fd, char *buf, u_int nbytes); }
5 STD POSIX { int ibcs2_open(char *path, int flags, int mode); }
6 NOPROTO POSIX { int close(int fd); }
7 STD SVR3 { int ibcs2_wait(int a1, int a2, int a3); }
8 STD SVR3 { int ibcs2_creat(char *path, int mode); }
9 NOPROTO POSIX { int link(char *path, char *link); }
10 STD POSIX { int ibcs2_unlink(char *path); }
11 STD NOHIDE { int ibcs2_execv(char *path, char **argp); }
12 STD POSIX { int ibcs2_chdir(char *path); }
13 STD SVR3 { int ibcs2_time(ibcs2_time_t *tp); }
14 STD SVR3 { int ibcs2_mknod(char* path, int mode, int dev); }
15 STD SVR3 { int ibcs2_chmod(char *path, int mode); }
16 STD SVR3 { int ibcs2_chown(char *path, int uid, int gid); }
17 NOPROTO SVR3 { int obreak(caddr_t nsize); }
18 STD SVR3 { int ibcs2_stat(char* path, struct ibcs2_stat *st); }
19 STD POSIX { long ibcs2_lseek(int fd, long offset, int whence); }
20 NOPROTO POSIX { pid_t getpid(void); }
21 STD SVR3 { int ibcs2_mount(char *special, char *dir, int flags,\
int fstype, char *data, int len); }
22 STD SVR3 { int ibcs2_umount(char *name); }
23 STD POSIX { int ibcs2_setuid(int uid); }
24 NOPROTO SVR3 { uid_t getuid(void); }
25 STD SVR3 { int ibcs2_stime(long *timep); }
26 NOPROTO SVR3 { int ptrace(int req, pid_t pid, caddr_t addr, \
int data); }
27 STD SVR3 { int ibcs2_alarm(unsigned sec); }
28 STD SVR3 { int ibcs2_fstat(int fd, struct ibcs2_stat *st); }
29 STD SVR3 { int ibcs2_pause(void); }
30 STD SVR3 { int ibcs2_utime(char *path, \
struct ibcs2_utimbuf *buf); }
31 STD SCO { int ibcs2_stty(int fd, struct sgttyb *buf); }
32 STD SCO { int ibcs2_gtty(int fd, struct sgttyb *buf); }
33 STD POSIX { int ibcs2_access(char *path, int flags); }
34 STD SVR3 { int ibcs2_nice(int incr); }
35 STD SVR3 { int ibcs2_statfs(char *path, \
struct ibcs2_statfs *buf, \
int len, int fstype); }
36 NOPROTO SVR3 { int sync(void); }
37 STD POSIX { int ibcs2_kill(int pid, int signo); }
38 STD SVR3 { int ibcs2_fstatfs(int fd, struct ibcs2_statfs *buf, \
int len, int fstype); }
39 STD SVR3 { int ibcs2_pgrpsys(int type, caddr_t dummy, int pid, \
int pgid); }
40 STD SCO { int ibcs2_xenix(int a1, int a2, int a3, int a4, \
int a5); }
41 NOPROTO POSIX { int dup(u_int fd); }
42 NOPROTO POSIX { int pipe(void); }
43 STD SVR3 { int ibcs2_times(struct tms *tp); }
44 NOPROTO SVR3 { int profil(caddr_t samples, u_int size, \
u_int offset, u_int scale); }
45 STD SVR3 { int ibcs2_plock(int cmd); }
46 STD SVR3 { int ibcs2_setgid(int gid); }
47 NOPROTO SVR3 { gid_t getgid(void); }
48 STD SVR3 { int ibcs2_sigsys(int sig, ibcs2_sig_t fp); }
#ifdef SYSVMSG
49 STD SVR3 { int ibcs2_msgsys(int which, int a2, int a3, int a4, \
int a5, int a6); }
#else
49 UNIMPL SVR3 nosys
#endif
50 STD SVR3 { int ibcs2_sysi86(int cmd, int *arg); }
51 UNIMPL SVR3 ibcs2_acct
#ifdef SYSVSHM
52 STD SVR3 { int ibcs2_shmsys(int which, int a2, int a3, int a4); }
#else
52 UNIMPL SVR3 nosys
#endif
#ifdef SYSVSEM
53 STD SVR3 { int ibcs2_semsys(int which, int a2, int a3, int a4, \
int a5); }
#else
53 UNIMPL SVR3 nosys
#endif
54 STD SVR3 { int ibcs2_ioctl(int fd, int cmd, caddr_t data); }
55 STD SVR3 { int ibcs2_uadmin(int cmd, int func, caddr_t data); }
56 UNIMPL SVR3 nosys
57 STD SVR3 { int ibcs2_utssys(int a1, int a2, int flag); }
58 NOPROTO POSIX { int fsync(int fd); }
59 STD SVR3 { int ibcs2_execve(char *path, char **argp, \
char **envp); }
60 NOPROTO SVR3 { int umask(int newmask); }
61 NOPROTO SVR3 { int chroot(char *path); }
62 STD SVR3 { int ibcs2_fcntl(int fd, int cmd, char *arg); }
63 STD SVR3 { long ibcs2_ulimit(int cmd, int newlimit); }
64 UNIMPL SVR3 reserved for unix/pc
65 UNIMPL SVR3 reserved for unix/pc
66 UNIMPL SVR3 reserved for unix/pc
67 UNIMPL SVR3 reserved for unix/pc
68 UNIMPL SVR3 reserved for unix/pc
69 UNIMPL SVR3 reserved for unix/pc
70 OBSOL SVR3 rfs_advfs
71 OBSOL SVR3 rfs_unadvfs
72 OBSOL SVR3 rfs_rmount
73 OBSOL SVR3 rfs_rumount
74 OBSOL SVR3 rfs_rfstart
75 OBSOL SVR3 rfs_sigret
76 OBSOL SVR3 rfs_rdebug
77 OBSOL SVR3 rfs_rfstop
78 UNIMPL SVR3 rfs_rfsys
79 STD SVR3 { int ibcs2_rmdir(char *path); }
80 STD SVR3 { int ibcs2_mkdir(char *path, int mode); }
81 STD SVR3 { int ibcs2_getdents(int fd, char *buf, int nbytes); }
82 UNIMPL SVR3 nosys
83 UNIMPL SVR3 nosys
84 STD SVR3 { int ibcs2_sysfs(int cmd, caddr_t d1, char *buf); }
85 STD SVR3 { int ibcs2_getmsg(int fd, struct ibcs2_stropts *ctl, \
struct ibcs2_stropts *dat, \
int *flags); }
86 STD SVR3 { int ibcs2_putmsg(int fd, struct ibcs2_stropts *ctl, \
struct ibcs2_stropts *dat, \
int flags); }
87 STD SVR3 { int ibcs2_poll(struct ibcs2_poll *fds, long nfds, \
int timeout); }
88 UNIMPL SVR3 nosys
89 STD SVR3 { int ibcs2_secure(int cmd, int a1, int a2, int a3, \
int a4, int a5); }
90 STD SVR3 { int ibcs2_symlink(char *path, char *link); }
91 STD SVR3 { int ibcs2_lstat(char *path, struct ibcs2_stat *st); }
92 STD SVR3 { int ibcs2_readlink(char *path, char *buf, int count); }
93 UNIMPL NOHIDE nosys
94 UNIMPL NOHIDE nosys
95 UNIMPL NOHIDE nosys
96 UNIMPL NOHIDE nosys
97 UNIMPL NOHIDE nosys
98 UNIMPL NOHIDE nosys
99 UNIMPL NOHIDE nosys
100 UNIMPL NOHIDE nosys
101 UNIMPL NOHIDE nosys
102 UNIMPL NOHIDE nosys
103 NOPROTO POSIX { int sigreturn(struct sigcontext *sigcntxp); }
104 UNIMPL NOHIDE nosys
105 STD SCO { int ibcs2_isc(void); }
106 UNIMPL NOHIDE nosys
107 UNIMPL NOHIDE nosys
108 UNIMPL NOHIDE nosys
109 UNIMPL NOHIDE nosys
110 UNIMPL NOHIDE nosys
111 UNIMPL NOHIDE nosys
112 UNIMPL NOHIDE nosys
113 UNIMPL NOHIDE nosys
114 UNIMPL NOHIDE nosys
115 UNIMPL NOHIDE nosys
116 UNIMPL NOHIDE nosys
117 UNIMPL NOHIDE nosys
118 UNIMPL NOHIDE nosys
119 UNIMPL NOHIDE nosys
120 UNIMPL NOHIDE nosys
121 UNIMPL NOHIDE nosys
122 UNIMPL NOHIDE nosys
123 UNIMPL NOHIDE nosys
124 UNIMPL NOHIDE nosys
125 UNIMPL NOHIDE nosys
126 UNIMPL NOHIDE nosys
127 UNIMPL NOHIDE nosys