| Commit | Line | Data |
|---|---|---|
| 931f64be | 1 | /* |
| 5969a6f1 | 2 | * KERN_SYSCALL.H - Split syscall prototypes |
| 931f64be MD |
3 | * |
| 4 | * Copyright (c) 2003 David P. Reese, Jr. <daver@gomerbud.com> | |
| 5 | * All rights reserved. | |
| 6 | * | |
| 7 | * Redistribution and use in source and binary forms, with or without | |
| 8 | * modification, are permitted provided that the following conditions | |
| 9 | * are met: | |
| 10 | * 1. Redistributions of source code must retain the above copyright | |
| 11 | * notice, this list of conditions and the following disclaimer. | |
| 12 | * 2. Redistributions in binary form must reproduce the above copyright | |
| 13 | * notice, this list of conditions and the following disclaimer in the | |
| 14 | * documentation and/or other materials provided with the distribution. | |
| 15 | * | |
| 16 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | |
| 17 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
| 18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
| 19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | |
| 20 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
| 21 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
| 22 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
| 23 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
| 24 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
| 25 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
| 26 | * SUCH DAMAGE. | |
| 27 | * | |
| d9fad06e | 28 | * $DragonFly: src/sys/sys/kern_syscall.h,v 1.38 2008/06/01 19:27:37 dillon Exp $ |
| 931f64be MD |
29 | */ |
| 30 | ||
| 5969a6f1 DRJ |
31 | #ifndef _SYS_KERN_SYSCALL_H_ |
| 32 | #define _SYS_KERN_SYSCALL_H_ | |
| 931f64be | 33 | |
| d9f3f6fa CP |
34 | #ifndef _KERNEL |
| 35 | #error "This file should not be included by userland programs." | |
| 36 | #endif | |
| 37 | ||
| 53b02c48 JS |
38 | #include <sys/uio.h> |
| 39 | ||
| dda4b42b DRJ |
40 | enum dup_type {DUP_FIXED, DUP_VARIABLE}; |
| 41 | union fcntl_dat; | |
| 2bd9d75c | 42 | struct image_args; |
| c0b8a06d | 43 | struct plimit; |
| 3e1837ce | 44 | struct mbuf; |
| 35fbb1d9 | 45 | struct msghdr; |
| 21739618 | 46 | struct namecache; |
| 28623bf9 | 47 | struct nchandle; |
| 21739618 | 48 | struct nlookupdata; |
| 9697c509 DRJ |
49 | struct rlimit; |
| 50 | struct rusage; | |
| 65957d54 DRJ |
51 | struct sigaction; |
| 52 | struct sigaltstack; | |
| 53 | struct __sigset; | |
| 75a872f8 | 54 | struct sf_hdtr; |
| 3e1837ce | 55 | struct sockaddr; |
| 75a872f8 | 56 | struct socket; |
| 201305ad | 57 | struct sockopt; |
| 65957d54 | 58 | struct stat; |
| 9697c509 DRJ |
59 | struct statfs; |
| 60 | struct timeval; | |
| ba023347 | 61 | struct uio; |
| d3313941 | 62 | struct vmspace; |
| 75a872f8 | 63 | struct vnode; |
| 82eaef15 | 64 | struct file; |
| 87de5057 | 65 | struct ucred; |
| d7345b10 | 66 | struct uuid; |
| d9fad06e | 67 | struct statvfs; |
| 931f64be | 68 | |
| ba023347 DRJ |
69 | /* |
| 70 | * Prototypes for syscalls in kern/kern_descrip.c | |
| 71 | */ | |
| 72 | int kern_dup(enum dup_type type, int old, int new, int *res); | |
| 87de5057 | 73 | int kern_fcntl(int fd, int cmd, union fcntl_dat *dat, struct ucred *cred); |
| 8f6f8622 | 74 | int kern_fstat(int fd, struct stat *st); |
| ba023347 DRJ |
75 | |
| 76 | /* | |
| 2bd9d75c DRJ |
77 | * Prototypes for syscalls in kern/kern_exec.c |
| 78 | */ | |
| fad57d0e | 79 | int kern_execve(struct nlookupdata *nd, struct image_args *args); |
| 2bd9d75c DRJ |
80 | |
| 81 | /* | |
| 9697c509 DRJ |
82 | * Prototypes for syscalls in kern/kern_exit.c |
| 83 | */ | |
| 84 | int kern_wait(pid_t pid, int *status, int options, struct rusage *rusage, | |
| 85 | int *res); | |
| 86 | ||
| 87 | /* | |
| 65957d54 DRJ |
88 | * Prototypes for syscalls in kern/kern_sig.c |
| 89 | */ | |
| 90 | int kern_sigaction(int sig, struct sigaction *act, struct sigaction *oact); | |
| 91 | int kern_sigprocmask(int how, struct __sigset *set, struct __sigset *oset); | |
| 92 | int kern_sigpending(struct __sigset *set); | |
| 93 | int kern_sigsuspend(struct __sigset *mask); | |
| 94 | int kern_sigaltstack(struct sigaltstack *ss, struct sigaltstack *oss); | |
| f9366a82 | 95 | int kern_kill(int sig, pid_t pid, lwpid_t tid); |
| 65957d54 DRJ |
96 | |
| 97 | /* | |
| ba023347 DRJ |
98 | * Prototypes for syscalls in kern/sys_generic.c |
| 99 | */ | |
| e54488bb MD |
100 | int kern_preadv(int fd, struct uio *auio, int flags, size_t *res); |
| 101 | int kern_pwritev(int fd, struct uio *auio, int flags, size_t *res); | |
| ba023347 DRJ |
102 | |
| 103 | /* | |
| 9697c509 DRJ |
104 | * Prototypes for syscalls in kern/kern_resource.c |
| 105 | */ | |
| 106 | int kern_setrlimit(u_int which, struct rlimit *limp); | |
| 107 | int kern_getrlimit(u_int which, struct rlimit *limp); | |
| 108 | ||
| 109 | /* | |
| ba023347 DRJ |
110 | * Prototypes for syscalls in kern/uipc_syscalls.c |
| 111 | */ | |
| 358e1f78 | 112 | int kern_accept(int s, int fflags, struct sockaddr **name, int *namelen, int *res); |
| 5969a6f1 | 113 | int kern_bind(int s, struct sockaddr *sa); |
| 358e1f78 | 114 | int kern_connect(int s, int fflags, struct sockaddr *sa); |
| 5969a6f1 DRJ |
115 | int kern_listen(int s, int backlog); |
| 116 | int kern_getpeername(int s, struct sockaddr **name, int *namelen); | |
| 201305ad | 117 | int kern_getsockopt(int s, struct sockopt *sopt); |
| 5969a6f1 | 118 | int kern_getsockname(int s, struct sockaddr **name, int *namelen); |
| 3e1837ce | 119 | int kern_recvmsg(int s, struct sockaddr **sa, struct uio *auio, |
| e54488bb | 120 | struct mbuf **control, int *flags, size_t *res); |
| 75a872f8 DRJ |
121 | int kern_shutdown(int s, int how); |
| 122 | int kern_sendfile(struct vnode *vp, int s, off_t offset, size_t nbytes, | |
| 30eeba44 | 123 | struct mbuf *mheader, off_t *sbytes, int flags); |
| 3e1837ce | 124 | int kern_sendmsg(int s, struct sockaddr *sa, struct uio *auio, |
| e54488bb | 125 | struct mbuf *control, int flags, size_t *res); |
| 201305ad | 126 | int kern_setsockopt(int s, struct sockopt *sopt); |
| 75a872f8 | 127 | int kern_socket(int domain, int type, int protocol, int *res); |
| 5969a6f1 | 128 | int kern_socketpair(int domain, int type, int protocol, int *sockv); |
| 931f64be | 129 | |
| 8f6f8622 DRJ |
130 | /* |
| 131 | * Prototypes for syscalls in kern/vfs_syscalls.c | |
| 132 | */ | |
| fad57d0e | 133 | int kern_access(struct nlookupdata *nd, int aflags); |
| 21739618 | 134 | int kern_chdir(struct nlookupdata *nd); |
| fad57d0e MD |
135 | int kern_chmod(struct nlookupdata *nd, int mode); |
| 136 | int kern_chown(struct nlookupdata *nd, int uid, int gid); | |
| 28623bf9 | 137 | int kern_chroot(struct nchandle *nch); |
| 9697c509 | 138 | int kern_fstatfs(int fd, struct statfs *buf); |
| d9fad06e | 139 | int kern_fstatvfs(int fd, struct statvfs *buf); |
| 8f6f8622 | 140 | int kern_ftruncate(int fd, off_t length); |
| 9697c509 | 141 | int kern_futimes(int fd, struct timeval *tptr); |
| 53b02c48 JS |
142 | int kern_getdirentries(int fd, char *buf, u_int count, long *basep, int *res, |
| 143 | enum uio_seg); | |
| fad57d0e | 144 | int kern_link(struct nlookupdata *nd, struct nlookupdata *linknd); |
| 5a3fe67d | 145 | int kern_lseek(int fd, off_t offset, int whence, off_t *res); |
| 2281065e MD |
146 | int kern_mountctl(const char *path, int op, struct file *fp, |
| 147 | const void *ctl, int ctllen, | |
| 949ecb9b | 148 | void *buf, int buflen, int *res); |
| fad57d0e MD |
149 | int kern_mkdir(struct nlookupdata *nd, int mode); |
| 150 | int kern_mkfifo(struct nlookupdata *nd, int mode); | |
| 0e9b9130 | 151 | int kern_mknod(struct nlookupdata *nd, int mode, int rmajor, int rminor); |
| fad57d0e | 152 | int kern_open(struct nlookupdata *nd, int flags, int mode, int *res); |
| 12693083 | 153 | int kern_close(int fd); |
| 4336d5df | 154 | int kern_closefrom(int fd); |
| fad57d0e MD |
155 | int kern_readlink(struct nlookupdata *nd, char *buf, int count, int *res); |
| 156 | int kern_rename(struct nlookupdata *fromnd, struct nlookupdata *tond); | |
| 157 | int kern_rmdir(struct nlookupdata *nd); | |
| 21739618 | 158 | int kern_stat(struct nlookupdata *nd, struct stat *st); |
| fad57d0e | 159 | int kern_statfs(struct nlookupdata *nd, struct statfs *buf); |
| d9fad06e | 160 | int kern_statvfs(struct nlookupdata *nd, struct statvfs *buf); |
| fad57d0e MD |
161 | int kern_symlink(struct nlookupdata *nd, char *path, int mode); |
| 162 | int kern_truncate(struct nlookupdata *nd, off_t length); | |
| 163 | int kern_unlink(struct nlookupdata *nd); | |
| 164 | int kern_utimes(struct nlookupdata *nd, struct timeval *tptr); | |
| d7345b10 | 165 | struct uuid *kern_uuidgen(struct uuid *store, size_t count); |
| 8f6f8622 | 166 | |
| a0ff68c9 | 167 | /* |
| b3ce8a64 MD |
168 | * Prototypes for syscalls in kern/kern_time.c |
| 169 | */ | |
| 170 | int kern_clock_gettime(clockid_t, struct timespec *); | |
| 171 | int kern_clock_settime(clockid_t, struct timespec *); | |
| 172 | int kern_clock_getres(clockid_t, struct timespec *); | |
| 173 | ||
| 174 | /* | |
| 63f58b90 EN |
175 | * Prototypes for syscalls in kern/vfs_cache.c |
| 176 | */ | |
| 02680f1b | 177 | char *kern_getcwd(char *, size_t, int *); |
| 63f58b90 EN |
178 | |
| 179 | /* | |
| a0ff68c9 DRJ |
180 | * Prototypes for syscalls in vm/vm_mmap.c |
| 181 | */ | |
| d3313941 MD |
182 | int kern_mmap(struct vmspace *, caddr_t addr, size_t len, |
| 183 | int prot, int flags, int fd, off_t pos, void **res); | |
| a0ff68c9 | 184 | |
| 5969a6f1 | 185 | #endif /* !_SYS_KERN_SYSCALL_H_ */ |