freebsd32_proto.h revision 140481
1/*
2 * System call prototypes.
3 *
4 * DO NOT EDIT-- this file is automatically generated.
5 * $FreeBSD: head/sys/compat/freebsd32/freebsd32_proto.h 140481 2005-01-19 17:44:59Z ps $
6 * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.44 2005/01/04 18:53:32 jhb Exp
7 */
8
9#ifndef _FREEBSD32_SYSPROTO_H_
10#define	_FREEBSD32_SYSPROTO_H_
11
12#include <sys/signal.h>
13#include <sys/acl.h>
14#include <sys/thr.h>
15#include <sys/umtx.h>
16#include <posix4/_semaphore.h>
17
18#include <sys/ucontext.h>
19
20struct proc;
21
22struct thread;
23
24#define	PAD_(t)	(sizeof(register_t) <= sizeof(t) ? \
25		0 : sizeof(register_t) - sizeof(t))
26
27#if BYTE_ORDER == LITTLE_ENDIAN
28#define	PADL_(t)	0
29#define	PADR_(t)	PAD_(t)
30#else
31#define	PADL_(t)	PAD_(t)
32#define	PADR_(t)	0
33#endif
34
35struct freebsd32_wait4_args {
36	char pid_l_[PADL_(int)]; int pid; char pid_r_[PADR_(int)];
37	char status_l_[PADL_(int *)]; int * status; char status_r_[PADR_(int *)];
38	char options_l_[PADL_(int)]; int options; char options_r_[PADR_(int)];
39	char rusage_l_[PADL_(struct rusage32 *)]; struct rusage32 * rusage; char rusage_r_[PADR_(struct rusage32 *)];
40};
41struct freebsd32_sigaltstack_args {
42	char ss_l_[PADL_(struct sigaltstack32 *)]; struct sigaltstack32 * ss; char ss_r_[PADR_(struct sigaltstack32 *)];
43	char oss_l_[PADL_(struct sigaltstack32 *)]; struct sigaltstack32 * oss; char oss_r_[PADR_(struct sigaltstack32 *)];
44};
45struct freebsd32_execve_args {
46	char fname_l_[PADL_(char *)]; char * fname; char fname_r_[PADR_(char *)];
47	char argv_l_[PADL_(u_int32_t *)]; u_int32_t * argv; char argv_r_[PADR_(u_int32_t *)];
48	char envv_l_[PADL_(u_int32_t *)]; u_int32_t * envv; char envv_r_[PADR_(u_int32_t *)];
49};
50struct freebsd32_setitimer_args {
51	char which_l_[PADL_(u_int)]; u_int which; char which_r_[PADR_(u_int)];
52	char itv_l_[PADL_(struct itimerval32 *)]; struct itimerval32 * itv; char itv_r_[PADR_(struct itimerval32 *)];
53	char oitv_l_[PADL_(struct itimerval32 *)]; struct itimerval32 * oitv; char oitv_r_[PADR_(struct itimerval32 *)];
54};
55struct freebsd32_getitimer_args {
56	char which_l_[PADL_(u_int)]; u_int which; char which_r_[PADR_(u_int)];
57	char itv_l_[PADL_(struct itimerval32 *)]; struct itimerval32 * itv; char itv_r_[PADR_(struct itimerval32 *)];
58};
59struct freebsd32_select_args {
60	char nd_l_[PADL_(int)]; int nd; char nd_r_[PADR_(int)];
61	char in_l_[PADL_(fd_set *)]; fd_set * in; char in_r_[PADR_(fd_set *)];
62	char ou_l_[PADL_(fd_set *)]; fd_set * ou; char ou_r_[PADR_(fd_set *)];
63	char ex_l_[PADL_(fd_set *)]; fd_set * ex; char ex_r_[PADR_(fd_set *)];
64	char tv_l_[PADL_(struct timeval32 *)]; struct timeval32 * tv; char tv_r_[PADR_(struct timeval32 *)];
65};
66struct freebsd32_gettimeofday_args {
67	char tp_l_[PADL_(struct timeval32 *)]; struct timeval32 * tp; char tp_r_[PADR_(struct timeval32 *)];
68	char tzp_l_[PADL_(struct timezone *)]; struct timezone * tzp; char tzp_r_[PADR_(struct timezone *)];
69};
70struct freebsd32_getrusage_args {
71	char who_l_[PADL_(int)]; int who; char who_r_[PADR_(int)];
72	char rusage_l_[PADL_(struct rusage32 *)]; struct rusage32 * rusage; char rusage_r_[PADR_(struct rusage32 *)];
73};
74struct freebsd32_readv_args {
75	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
76	char iovp_l_[PADL_(struct iovec32 *)]; struct iovec32 * iovp; char iovp_r_[PADR_(struct iovec32 *)];
77	char iovcnt_l_[PADL_(u_int)]; u_int iovcnt; char iovcnt_r_[PADR_(u_int)];
78};
79struct freebsd32_writev_args {
80	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
81	char iovp_l_[PADL_(struct iovec32 *)]; struct iovec32 * iovp; char iovp_r_[PADR_(struct iovec32 *)];
82	char iovcnt_l_[PADL_(u_int)]; u_int iovcnt; char iovcnt_r_[PADR_(u_int)];
83};
84struct freebsd32_settimeofday_args {
85	char tv_l_[PADL_(struct timeval32 *)]; struct timeval32 * tv; char tv_r_[PADR_(struct timeval32 *)];
86	char tzp_l_[PADL_(struct timezone *)]; struct timezone * tzp; char tzp_r_[PADR_(struct timezone *)];
87};
88struct freebsd32_utimes_args {
89	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
90	char tptr_l_[PADL_(struct timeval32 *)]; struct timeval32 * tptr; char tptr_r_[PADR_(struct timeval32 *)];
91};
92struct freebsd32_adjtime_args {
93	char delta_l_[PADL_(struct timeval32 *)]; struct timeval32 * delta; char delta_r_[PADR_(struct timeval32 *)];
94	char olddelta_l_[PADL_(struct timeval32 *)]; struct timeval32 * olddelta; char olddelta_r_[PADR_(struct timeval32 *)];
95};
96struct freebsd32_semsys_args {
97	char which_l_[PADL_(int)]; int which; char which_r_[PADR_(int)];
98	char a2_l_[PADL_(int)]; int a2; char a2_r_[PADR_(int)];
99	char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)];
100	char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)];
101	char a5_l_[PADL_(int)]; int a5; char a5_r_[PADR_(int)];
102};
103struct freebsd32_msgsys_args {
104	char which_l_[PADL_(int)]; int which; char which_r_[PADR_(int)];
105	char a2_l_[PADL_(int)]; int a2; char a2_r_[PADR_(int)];
106	char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)];
107	char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)];
108	char a5_l_[PADL_(int)]; int a5; char a5_r_[PADR_(int)];
109	char a6_l_[PADL_(int)]; int a6; char a6_r_[PADR_(int)];
110};
111struct freebsd32_shmsys_args {
112	char which_l_[PADL_(int)]; int which; char which_r_[PADR_(int)];
113	char a2_l_[PADL_(int)]; int a2; char a2_r_[PADR_(int)];
114	char a3_l_[PADL_(int)]; int a3; char a3_r_[PADR_(int)];
115	char a4_l_[PADL_(int)]; int a4; char a4_r_[PADR_(int)];
116};
117struct freebsd32_pread_args {
118	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
119	char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)];
120	char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)];
121	char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
122	char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)];
123	char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)];
124};
125struct freebsd32_pwrite_args {
126	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
127	char buf_l_[PADL_(const void *)]; const void * buf; char buf_r_[PADR_(const void *)];
128	char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)];
129	char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
130	char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)];
131	char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)];
132};
133struct freebsd32_stat_args {
134	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
135	char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)];
136};
137struct freebsd32_fstat_args {
138	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
139	char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)];
140};
141struct freebsd32_lstat_args {
142	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
143	char ub_l_[PADL_(struct stat32 *)]; struct stat32 * ub; char ub_r_[PADR_(struct stat32 *)];
144};
145struct freebsd32_mmap_args {
146	char addr_l_[PADL_(caddr_t)]; caddr_t addr; char addr_r_[PADR_(caddr_t)];
147	char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
148	char prot_l_[PADL_(int)]; int prot; char prot_r_[PADR_(int)];
149	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
150	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
151	char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
152	char poslo_l_[PADL_(u_int32_t)]; u_int32_t poslo; char poslo_r_[PADR_(u_int32_t)];
153	char poshi_l_[PADL_(u_int32_t)]; u_int32_t poshi; char poshi_r_[PADR_(u_int32_t)];
154};
155struct freebsd32_lseek_args {
156	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
157	char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
158	char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)];
159	char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)];
160	char whence_l_[PADL_(int)]; int whence; char whence_r_[PADR_(int)];
161};
162struct freebsd32_truncate_args {
163	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
164	char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
165	char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)];
166	char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)];
167};
168struct freebsd32_ftruncate_args {
169	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
170	char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
171	char lengthlo_l_[PADL_(u_int32_t)]; u_int32_t lengthlo; char lengthlo_r_[PADR_(u_int32_t)];
172	char lengthhi_l_[PADL_(u_int32_t)]; u_int32_t lengthhi; char lengthhi_r_[PADR_(u_int32_t)];
173};
174struct freebsd32_sysctl_args {
175	char name_l_[PADL_(int *)]; int * name; char name_r_[PADR_(int *)];
176	char namelen_l_[PADL_(u_int)]; u_int namelen; char namelen_r_[PADR_(u_int)];
177	char old_l_[PADL_(void *)]; void * old; char old_r_[PADR_(void *)];
178	char oldlenp_l_[PADL_(u_int32_t *)]; u_int32_t * oldlenp; char oldlenp_r_[PADR_(u_int32_t *)];
179	char new_l_[PADL_(void *)]; void * new; char new_r_[PADR_(void *)];
180	char newlen_l_[PADL_(u_int32_t)]; u_int32_t newlen; char newlen_r_[PADR_(u_int32_t)];
181};
182struct freebsd32_nanosleep_args {
183	char rqtp_l_[PADL_(const struct timespec *)]; const struct timespec * rqtp; char rqtp_r_[PADR_(const struct timespec *)];
184	char rmtp_l_[PADL_(struct timespec *)]; struct timespec * rmtp; char rmtp_r_[PADR_(struct timespec *)];
185};
186struct freebsd32_kevent_args {
187	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
188	char changelist_l_[PADL_(const struct kevent *)]; const struct kevent * changelist; char changelist_r_[PADR_(const struct kevent *)];
189	char nchanges_l_[PADL_(int)]; int nchanges; char nchanges_r_[PADR_(int)];
190	char eventlist_l_[PADL_(struct kevent *)]; struct kevent * eventlist; char eventlist_r_[PADR_(struct kevent *)];
191	char nevents_l_[PADL_(int)]; int nevents; char nevents_r_[PADR_(int)];
192	char timeout_l_[PADL_(const struct timespec *)]; const struct timespec * timeout; char timeout_r_[PADR_(const struct timespec *)];
193};
194struct freebsd32_sendfile_args {
195	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
196	char s_l_[PADL_(int)]; int s; char s_r_[PADR_(int)];
197	char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)];
198	char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)];
199	char nbytes_l_[PADL_(size_t)]; size_t nbytes; char nbytes_r_[PADR_(size_t)];
200	char hdtr_l_[PADL_(struct sf_hdtr *)]; struct sf_hdtr * hdtr; char hdtr_r_[PADR_(struct sf_hdtr *)];
201	char sbytes_l_[PADL_(off_t *)]; off_t * sbytes; char sbytes_r_[PADR_(off_t *)];
202	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
203};
204struct freebsd32_sigaction_args {
205	char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)];
206	char act_l_[PADL_(struct sigaction32 *)]; struct sigaction32 * act; char act_r_[PADR_(struct sigaction32 *)];
207	char oact_l_[PADL_(struct sigaction32 *)]; struct sigaction32 * oact; char oact_r_[PADR_(struct sigaction32 *)];
208};
209struct freebsd32_sigreturn_args {
210	char sigcntxp_l_[PADL_(const struct freebsd32_ucontext *)]; const struct freebsd32_ucontext * sigcntxp; char sigcntxp_r_[PADR_(const struct freebsd32_ucontext *)];
211};
212int	freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *);
213int	freebsd32_sigaltstack(struct thread *, struct freebsd32_sigaltstack_args *);
214int	freebsd32_execve(struct thread *, struct freebsd32_execve_args *);
215int	freebsd32_setitimer(struct thread *, struct freebsd32_setitimer_args *);
216int	freebsd32_getitimer(struct thread *, struct freebsd32_getitimer_args *);
217int	freebsd32_select(struct thread *, struct freebsd32_select_args *);
218int	freebsd32_gettimeofday(struct thread *, struct freebsd32_gettimeofday_args *);
219int	freebsd32_getrusage(struct thread *, struct freebsd32_getrusage_args *);
220int	freebsd32_readv(struct thread *, struct freebsd32_readv_args *);
221int	freebsd32_writev(struct thread *, struct freebsd32_writev_args *);
222int	freebsd32_settimeofday(struct thread *, struct freebsd32_settimeofday_args *);
223int	freebsd32_utimes(struct thread *, struct freebsd32_utimes_args *);
224int	freebsd32_adjtime(struct thread *, struct freebsd32_adjtime_args *);
225int	freebsd32_semsys(struct thread *, struct freebsd32_semsys_args *);
226int	freebsd32_msgsys(struct thread *, struct freebsd32_msgsys_args *);
227int	freebsd32_shmsys(struct thread *, struct freebsd32_shmsys_args *);
228int	freebsd32_pread(struct thread *, struct freebsd32_pread_args *);
229int	freebsd32_pwrite(struct thread *, struct freebsd32_pwrite_args *);
230int	freebsd32_stat(struct thread *, struct freebsd32_stat_args *);
231int	freebsd32_fstat(struct thread *, struct freebsd32_fstat_args *);
232int	freebsd32_lstat(struct thread *, struct freebsd32_lstat_args *);
233int	freebsd32_mmap(struct thread *, struct freebsd32_mmap_args *);
234int	freebsd32_lseek(struct thread *, struct freebsd32_lseek_args *);
235int	freebsd32_truncate(struct thread *, struct freebsd32_truncate_args *);
236int	freebsd32_ftruncate(struct thread *, struct freebsd32_ftruncate_args *);
237int	freebsd32_sysctl(struct thread *, struct freebsd32_sysctl_args *);
238int	freebsd32_nanosleep(struct thread *, struct freebsd32_nanosleep_args *);
239int	freebsd32_kevent(struct thread *, struct freebsd32_kevent_args *);
240int	freebsd32_sendfile(struct thread *, struct freebsd32_sendfile_args *);
241int	freebsd32_sigaction(struct thread *, struct freebsd32_sigaction_args *);
242int	freebsd32_sigreturn(struct thread *, struct freebsd32_sigreturn_args *);
243
244#ifdef COMPAT_43
245
246
247#endif /* COMPAT_43 */
248
249
250#ifdef COMPAT_FREEBSD4
251
252struct freebsd4_freebsd32_getfsstat_args {
253	char buf_l_[PADL_(struct statfs32 *)]; struct statfs32 * buf; char buf_r_[PADR_(struct statfs32 *)];
254	char bufsize_l_[PADL_(long)]; long bufsize; char bufsize_r_[PADR_(long)];
255	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
256};
257struct freebsd4_freebsd32_statfs_args {
258	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
259	char buf_l_[PADL_(struct statfs32 *)]; struct statfs32 * buf; char buf_r_[PADR_(struct statfs32 *)];
260};
261struct freebsd4_freebsd32_fstatfs_args {
262	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
263	char buf_l_[PADL_(struct statfs32 *)]; struct statfs32 * buf; char buf_r_[PADR_(struct statfs32 *)];
264};
265struct freebsd4_freebsd32_fhstatfs_args {
266	char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)];
267	char buf_l_[PADL_(struct statfs32 *)]; struct statfs32 * buf; char buf_r_[PADR_(struct statfs32 *)];
268};
269struct freebsd4_freebsd32_sendfile_args {
270	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
271	char s_l_[PADL_(int)]; int s; char s_r_[PADR_(int)];
272	char offsetlo_l_[PADL_(u_int32_t)]; u_int32_t offsetlo; char offsetlo_r_[PADR_(u_int32_t)];
273	char offsethi_l_[PADL_(u_int32_t)]; u_int32_t offsethi; char offsethi_r_[PADR_(u_int32_t)];
274	char nbytes_l_[PADL_(size_t)]; size_t nbytes; char nbytes_r_[PADR_(size_t)];
275	char hdtr_l_[PADL_(struct sf_hdtr *)]; struct sf_hdtr * hdtr; char hdtr_r_[PADR_(struct sf_hdtr *)];
276	char sbytes_l_[PADL_(off_t *)]; off_t * sbytes; char sbytes_r_[PADR_(off_t *)];
277	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
278};
279struct freebsd4_freebsd32_sigaction_args {
280	char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)];
281	char act_l_[PADL_(struct sigaction32 *)]; struct sigaction32 * act; char act_r_[PADR_(struct sigaction32 *)];
282	char oact_l_[PADL_(struct sigaction32 *)]; struct sigaction32 * oact; char oact_r_[PADR_(struct sigaction32 *)];
283};
284struct freebsd4_freebsd32_sigreturn_args {
285	char sigcntxp_l_[PADL_(const struct freebsd4_freebsd32_ucontext *)]; const struct freebsd4_freebsd32_ucontext * sigcntxp; char sigcntxp_r_[PADR_(const struct freebsd4_freebsd32_ucontext *)];
286};
287int	freebsd4_freebsd32_getfsstat(struct thread *, struct freebsd4_freebsd32_getfsstat_args *);
288int	freebsd4_freebsd32_statfs(struct thread *, struct freebsd4_freebsd32_statfs_args *);
289int	freebsd4_freebsd32_fstatfs(struct thread *, struct freebsd4_freebsd32_fstatfs_args *);
290int	freebsd4_freebsd32_fhstatfs(struct thread *, struct freebsd4_freebsd32_fhstatfs_args *);
291int	freebsd4_freebsd32_sendfile(struct thread *, struct freebsd4_freebsd32_sendfile_args *);
292int	freebsd4_freebsd32_sigaction(struct thread *, struct freebsd4_freebsd32_sigaction_args *);
293int	freebsd4_freebsd32_sigreturn(struct thread *, struct freebsd4_freebsd32_sigreturn_args *);
294
295#endif /* COMPAT_FREEBSD4 */
296
297#undef PAD_
298#undef PADL_
299#undef PADR_
300
301#endif /* !_FREEBSD32_SYSPROTO_H_ */
302