diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-02-24 16:12:24 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-02-24 16:12:24 -0800 |
| commit | 0bab064232c278cb484b6aaa790b9c626ab6524b (patch) | |
| tree | 3c997ffac693fa0e1f157273fad383b6a0a752b2 /include/linux | |
| parent | 091704ef34f2e6aed8436877aeb434125b002c18 (diff) | |
[PATCH] add syscalls.h
From: "Randy.Dunlap" <rddunlap@osdl.org>
Add syscalls.h, which contains prototypes for the kernel's system calls.
Replace open-coded declarations all over the place. This patch found a
couple of prior bugs. It appears to be more important with -mregparm=3 as we
discover more asmlinkage mismatches.
Some syscalls have arch-dependent arguments, so their prototypes are in the
arch-specific unistd.h. Maybe it should have been asm/syscalls.h, but there
were already arch-specific syscall prototypes in asm/unistd.h...
Tested on x86, ia64, x86_64, ppc64, s390 and sparc64. May cause
trivial-to-fix build breakage on other architectures.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/eventpoll.h | 7 | ||||
| -rw-r--r-- | include/linux/fs.h | 3 | ||||
| -rw-r--r-- | include/linux/futex.h | 4 | ||||
| -rw-r--r-- | include/linux/ioctl32.h | 2 | ||||
| -rw-r--r-- | include/linux/mm.h | 2 | ||||
| -rw-r--r-- | include/linux/msg.h | 5 | ||||
| -rw-r--r-- | include/linux/nfsd/syscall.h | 1 | ||||
| -rw-r--r-- | include/linux/sched.h | 4 | ||||
| -rw-r--r-- | include/linux/sem.h | 6 | ||||
| -rw-r--r-- | include/linux/shm.h | 3 | ||||
| -rw-r--r-- | include/linux/socket.h | 4 | ||||
| -rw-r--r-- | include/linux/syscalls.h | 476 | ||||
| -rw-r--r-- | include/linux/sysctl.h | 1 |
13 files changed, 476 insertions, 42 deletions
diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h index 136c6315e6af..1289f0ec4c00 100644 --- a/include/linux/eventpoll.h +++ b/include/linux/eventpoll.h @@ -49,13 +49,6 @@ struct epoll_event { struct file; -/* Kernel space functions implementing the user space "epoll" API */ -asmlinkage long sys_epoll_create(int size); -asmlinkage long sys_epoll_ctl(int epfd, int op, int fd, - struct epoll_event __user *event); -asmlinkage long sys_epoll_wait(int epfd, struct epoll_event __user *events, - int maxevents, int timeout); - #ifdef CONFIG_EPOLL /* Used to initialize the epoll bits inside the "struct file" */ diff --git a/include/linux/fs.h b/include/linux/fs.h index dd3186163c0d..025fdc3b379b 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1118,10 +1118,7 @@ static inline int break_lease(struct inode *inode, unsigned int mode) /* fs/open.c */ -asmlinkage long sys_open(const char __user *, int, int); -asmlinkage long sys_close(unsigned int); /* yes, it's really unsigned */ extern int do_truncate(struct dentry *, loff_t start); - extern struct file *filp_open(const char *, int, int); extern struct file * dentry_open(struct dentry *, struct vfsmount *, int); extern int filp_close(struct file *, fl_owner_t id); diff --git a/include/linux/futex.h b/include/linux/futex.h index ef87c1b0d637..87f4b2541bd3 100644 --- a/include/linux/futex.h +++ b/include/linux/futex.h @@ -10,10 +10,6 @@ #define FUTEX_REQUEUE (3) -asmlinkage long sys_futex(u32 __user *uaddr, int op, int val, - struct timespec __user *utime, u32 __user *uaddr2); - - long do_futex(unsigned long uaddr, int op, int val, unsigned long timeout, unsigned long uaddr2, int val2); diff --git a/include/linux/ioctl32.h b/include/linux/ioctl32.h index d03489f00793..e5bff65d3074 100644 --- a/include/linux/ioctl32.h +++ b/include/linux/ioctl32.h @@ -3,8 +3,6 @@ struct file; -extern long sys_ioctl(unsigned int, unsigned int, unsigned long); - /* * Register an 32bit ioctl translation handler for ioctl cmd. * diff --git a/include/linux/mm.h b/include/linux/mm.h index aa0f2d50c887..d9c541550efd 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -455,8 +455,6 @@ extern int install_file_pte(struct mm_struct *mm, struct vm_area_struct *vma, un extern int handle_mm_fault(struct mm_struct *mm,struct vm_area_struct *vma, unsigned long address, int write_access); extern int make_pages_present(unsigned long addr, unsigned long end); extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write); -asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size, unsigned long prot, unsigned long pgoff, unsigned long nonblock); -asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice); void put_dirty_page(struct task_struct *tsk, struct page *page, unsigned long address, pgprot_t prot); diff --git a/include/linux/msg.h b/include/linux/msg.h index 56a3f89602c3..b235e862a3dd 100644 --- a/include/linux/msg.h +++ b/include/linux/msg.h @@ -94,11 +94,6 @@ struct msg_queue { struct list_head q_senders; }; -asmlinkage long sys_msgget (key_t key, int msgflg); -asmlinkage long sys_msgsnd (int msqid, struct msgbuf __user *msgp, size_t msgsz, int msgflg); -asmlinkage long sys_msgrcv (int msqid, struct msgbuf __user *msgp, size_t msgsz, long msgtyp, int msgflg); -asmlinkage long sys_msgctl (int msqid, int cmd, struct msqid_ds __user *buf); - #endif /* __KERNEL__ */ #endif /* _LINUX_MSG_H */ diff --git a/include/linux/nfsd/syscall.h b/include/linux/nfsd/syscall.h index b6fa4d1839e3..e65c9db6d13f 100644 --- a/include/linux/nfsd/syscall.h +++ b/include/linux/nfsd/syscall.h @@ -115,7 +115,6 @@ union nfsctl_res { /* * Kernel syscall implementation. */ -extern asmlinkage long sys_nfsservctl(int, struct nfsctl_arg __user *, void __user *); extern int exp_addclient(struct nfsctl_client *ncp); extern int exp_delclient(struct nfsctl_client *ncp); extern int exp_export(struct nfsctl_export *nxp); diff --git a/include/linux/sched.h b/include/linux/sched.h index 40170aa312a1..9dd6606bb9cc 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -610,8 +610,6 @@ extern void FASTCALL(wake_up_forked_process(struct task_struct * tsk)); extern void FASTCALL(sched_fork(task_t * p)); extern void FASTCALL(sched_exit(task_t * p)); -asmlinkage long sys_wait4(pid_t pid,unsigned int * stat_addr, int options, struct rusage * ru); - extern int in_group_p(gid_t); extern int in_egroup_p(gid_t); @@ -735,8 +733,6 @@ extern task_t *child_reaper; extern int do_execve(char *, char __user * __user *, char __user * __user *, struct pt_regs *); extern long do_fork(unsigned long, unsigned long, struct pt_regs *, unsigned long, int __user *, int __user *); extern struct task_struct * copy_process(unsigned long, unsigned long, struct pt_regs *, unsigned long, int __user *, int __user *); -extern asmlinkage long sys_sched_setscheduler(pid_t pid, int policy, - struct sched_param __user *parm); #ifdef CONFIG_SMP extern void wait_task_inactive(task_t * p); diff --git a/include/linux/sem.h b/include/linux/sem.h index 6e13e5efc163..b337c509ac29 100644 --- a/include/linux/sem.h +++ b/include/linux/sem.h @@ -134,12 +134,6 @@ struct sysv_sem { struct sem_undo_list *undo_list; }; -asmlinkage long sys_semget (key_t key, int nsems, int semflg); -asmlinkage long sys_semop (int semid, struct sembuf __user *sops, unsigned nsops); -asmlinkage long sys_semctl (int semid, int semnum, int cmd, union semun arg); -asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops, - unsigned nsops, const struct timespec __user *timeout); - void exit_sem(struct task_struct *p); #endif /* __KERNEL__ */ diff --git a/include/linux/shm.h b/include/linux/shm.h index 1f2b5ee10897..9a00f5ff6c58 100644 --- a/include/linux/shm.h +++ b/include/linux/shm.h @@ -100,9 +100,6 @@ static inline long do_shmat(int shmid, char __user *shmaddr, return -ENOSYS; } #endif -asmlinkage long sys_shmget (key_t key, size_t size, int flag); -asmlinkage long sys_shmdt (char __user *shmaddr); -asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds __user *buf); #endif /* __KERNEL__ */ diff --git a/include/linux/socket.h b/include/linux/socket.h index 0010dee5f9a2..3a18d6e0a51d 100644 --- a/include/linux/socket.h +++ b/include/linux/socket.h @@ -245,10 +245,6 @@ struct ucred { #define MSG_CMSG_COMPAT 0 /* We never have 32 bit fixups */ #endif -extern asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags); -extern asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags); - - /* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */ #define SOL_IP 0 diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h new file mode 100644 index 000000000000..6355db655a7f --- /dev/null +++ b/include/linux/syscalls.h @@ -0,0 +1,476 @@ +/* + * syscalls.h - Linux syscall interfaces (non-arch-specific) + * + * Copyright (c) 2004 Randy Dunlap + * Copyright (c) 2004 Open Source Development Labs + * + * This file is released under the GPLv2. + * See the file COPYING for more details. + */ + +#ifndef _LINUX_SYSCALLS_H +#define _LINUX_SYSCALLS_H + +struct epoll_event; +struct iattr; +struct inode; +struct iocb; +struct io_event; +struct iovec; +struct itimerspec; +struct itimerval; +struct linux_dirent; +struct linux_dirent64; +struct list_head; +struct msgbuf; +struct msghdr; +struct msqid_ds; +struct new_utsname; +struct nfsctl_arg; +struct __old_kernel_stat; +struct pollfd; +struct rlimit; +struct rusage; +struct sched_param; +struct semaphore; +struct sembuf; +struct shmid_ds; +struct sockaddr; +struct stat; +struct stat64; +struct statfs; +struct statfs64; +struct __sysctl_args; +struct sysinfo; +struct timespec; +struct timeval; +struct timex; +struct timezone; +struct tms; +struct utimbuf; + +#include <linux/config.h> +#include <linux/types.h> +#include <linux/aio_abi.h> +#include <linux/capability.h> +#include <linux/list.h> +#include <linux/sem.h> +#include <asm/semaphore.h> +#include <asm/siginfo.h> +#include <asm/signal.h> +#include <linux/quota.h> + +asmlinkage long sys_time(int *tloc); +asmlinkage long sys_stime(time_t *tptr); +asmlinkage long sys_gettimeofday(struct timeval __user *tv, + struct timezone __user *tz); +asmlinkage long sys_settimeofday(struct timeval __user *tv, + struct timezone __user *tz); +asmlinkage long sys_adjtimex(struct timex __user *txc_p); + +asmlinkage long sys_times(struct tms __user *tbuf); + +asmlinkage long sys_gettid(void); +asmlinkage long sys_nanosleep(struct timespec *rqtp, struct timespec *rmtp); +asmlinkage unsigned long sys_alarm(unsigned int seconds); +asmlinkage long sys_getpid(void); +asmlinkage long sys_getppid(void); +asmlinkage long sys_getuid(void); +asmlinkage long sys_geteuid(void); +asmlinkage long sys_getgid(void); +asmlinkage long sys_getegid(void); +asmlinkage long sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); +asmlinkage long sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); +asmlinkage long sys_getpgid(pid_t pid); +asmlinkage long sys_getpgrp(void); +asmlinkage long sys_getsid(pid_t pid); +asmlinkage long sys_getgroups(int gidsetsize, gid_t __user *grouplist); + +asmlinkage long sys_setregid(gid_t rgid, gid_t egid); +asmlinkage long sys_setgid(gid_t gid); +asmlinkage long sys_setreuid(uid_t ruid, uid_t euid); +asmlinkage long sys_setuid(uid_t uid); +asmlinkage long sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); +asmlinkage long sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); +asmlinkage long sys_setfsuid(uid_t uid); +asmlinkage long sys_setfsgid(gid_t gid); +asmlinkage long sys_setpgid(pid_t pid, pid_t pgid); +asmlinkage long sys_setsid(void); +asmlinkage long sys_setgroups(int gidsetsize, gid_t __user *grouplist); + +asmlinkage long sys_acct(const char *name); +asmlinkage long sys_capget(cap_user_header_t header, + cap_user_data_t dataptr); +asmlinkage long sys_capset(cap_user_header_t header, + const cap_user_data_t data); +asmlinkage long sys_personality(u_long personality); + +asmlinkage long sys_sigpending(old_sigset_t __user *set); +asmlinkage long sys_sigprocmask(int how, old_sigset_t __user *set, + old_sigset_t __user *oset); +asmlinkage long sys_getitimer(int which, struct itimerval __user *value); +asmlinkage long sys_setitimer(int which, + struct itimerval __user *value, + struct itimerval __user *ovalue); +asmlinkage long sys_timer_gettime(timer_t timer_id, + struct itimerspec __user *setting); +asmlinkage long sys_timer_getoverrun(timer_t timer_id); +asmlinkage long sys_timer_settime(timer_t timer_id, int flags, + const struct itimerspec __user *new_setting, + struct itimerspec __user *old_setting); +asmlinkage long sys_timer_delete(timer_t timer_id); +asmlinkage long sys_clock_settime(clockid_t which_clock, + const struct timespec __user *tp); +asmlinkage long sys_clock_gettime(clockid_t which_clock, + struct timespec __user *tp); +asmlinkage long sys_clock_getres(clockid_t which_clock, + struct timespec __user *tp); +asmlinkage long sys_clock_nanosleep(clockid_t which_clock, int flags, + const struct timespec __user *rqtp, + struct timespec __user *rmtp); + +asmlinkage long sys_nice(int increment); +asmlinkage long sys_sched_setscheduler(pid_t pid, int policy, + struct sched_param __user *param); +asmlinkage long sys_sched_setparam(pid_t pid, + struct sched_param __user *param); +asmlinkage long sys_sched_getscheduler(pid_t pid); +asmlinkage long sys_sched_getparam(pid_t pid, + struct sched_param __user *param); +asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len, + unsigned long __user *user_mask_ptr); +asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, + unsigned long __user *user_mask_ptr); +asmlinkage long sys_sched_yield(void); +asmlinkage long sys_sched_get_priority_max(int policy); +asmlinkage long sys_sched_get_priority_min(int policy); +asmlinkage long sys_sched_rr_get_interval(pid_t pid, + struct timespec __user *interval); +asmlinkage long sys_setpriority(int which, int who, int niceval); +asmlinkage long sys_getpriority(int which, int who); + +asmlinkage long sys_shutdown(int, int); +asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, + void __user *arg); +asmlinkage long sys_restart_syscall(void); + +asmlinkage long sys_exit(int error_code); +asmlinkage void sys_exit_group(int error_code); +asmlinkage long sys_wait4(pid_t pid, unsigned int *stat_addr, + int options, struct rusage *ru); +asmlinkage long sys_waitpid(pid_t pid, unsigned int *stat_addr, int options); +asmlinkage long sys_set_tid_address(int __user *tidptr); +asmlinkage long sys_futex(u32 __user *uaddr, int op, int val, + struct timespec __user *utime, u32 __user *uaddr2); + +asmlinkage long sys_init_module(void __user *umod, unsigned long len, + const char __user *uargs); +asmlinkage long sys_delete_module(const char __user *name_user, + unsigned int flags); + +asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set, + sigset_t __user *oset, size_t sigsetsize); +asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize); +asmlinkage long sys_rt_sigtimedwait(const sigset_t __user *uthese, + siginfo_t __user *uinfo, + const struct timespec __user *uts, + size_t sigsetsize); +asmlinkage long sys_kill(int pid, int sig); +asmlinkage long sys_tgkill(int tgid, int pid, int sig); +asmlinkage long sys_tkill(int pid, int sig); +asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo); +asmlinkage long sys_sgetmask(void); +asmlinkage long sys_ssetmask(int newmask); +asmlinkage unsigned long sys_signal(int sig, __sighandler_t handler); +asmlinkage long sys_pause(void); + +asmlinkage long sys_sync(void); +asmlinkage long sys_fsync(unsigned int fd); +asmlinkage long sys_fdatasync(unsigned int fd); +asmlinkage long sys_bdflush(int func, long data); +asmlinkage long sys_mount(char __user *dev_name, char __user *dir_name, + char __user *type, unsigned long flags, + void __user *data); +asmlinkage long sys_umount(char __user *name, int flags); +asmlinkage long sys_oldumount(char __user *name); +asmlinkage long sys_truncate(const char __user *path, + unsigned long length); +asmlinkage long sys_ftruncate(unsigned int fd, unsigned long length); +asmlinkage long sys_stat(char __user *filename, + struct __old_kernel_stat __user *statbuf); +asmlinkage long sys_statfs(const char __user * path, + struct statfs __user *buf); +asmlinkage long sys_statfs64(const char __user *path, size_t sz, + struct statfs64 __user *buf); +asmlinkage long sys_fstatfs(unsigned int fd, struct statfs __user *buf); +asmlinkage long sys_fstatfs64(unsigned int fd, size_t sz, + struct statfs64 __user *buf); +asmlinkage long sys_lstat(char __user *filename, + struct __old_kernel_stat __user *statbuf); +asmlinkage long sys_fstat(unsigned int fd, + struct __old_kernel_stat __user *statbuf); +asmlinkage long sys_newstat(char __user *filename, + struct stat __user *statbuf); +asmlinkage long sys_newlstat(char __user *filename, + struct stat __user *statbuf); +asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf); +asmlinkage long sys_ustat(unsigned dev, struct ustat __user *ubuf); +#if BITS_PER_LONG == 32 +asmlinkage long sys_stat64(char __user *filename, + struct stat64 __user *statbuf); +asmlinkage long sys_fstat64(unsigned long fd, struct stat64 __user *statbuf); +asmlinkage long sys_lstat64(char __user *filename, + struct stat64 __user *statbuf); +asmlinkage long sys_truncate64(const char __user *path, loff_t length); +asmlinkage long sys_ftruncate64(unsigned int fd, loff_t length); +#endif + +asmlinkage long sys_setxattr(char __user *path, char __user *name, + void __user *value, size_t size, int flags); +asmlinkage long sys_lsetxattr(char __user *path, char __user *name, + void __user *value, size_t size, int flags); +asmlinkage long sys_fsetxattr(int fd, char __user *name, void __user *value, + size_t size, int flags); +asmlinkage ssize_t sys_getxattr(char __user *path, char __user *name, + void __user *value, size_t size); +asmlinkage ssize_t sys_lgetxattr(char __user *path, char __user *name, + void __user *value, size_t size); +asmlinkage ssize_t sys_fgetxattr(int fd, char __user *name, + void __user *value, size_t size); +asmlinkage ssize_t sys_listxattr(char __user *path, char __user *list, + size_t size); +asmlinkage ssize_t sys_llistxattr(char __user *path, char __user *list, + size_t size); +asmlinkage ssize_t sys_flistxattr(int fd, char __user *list, size_t size); +asmlinkage long sys_removexattr(char __user *path, char __user *name); +asmlinkage long sys_lremovexattr(char __user *path, char __user *name); +asmlinkage long sys_fremovexattr(int fd, char __user *name); + +asmlinkage unsigned long sys_brk(unsigned long brk); +asmlinkage long sys_mprotect(unsigned long start, size_t len, + unsigned long prot); +asmlinkage unsigned long sys_mremap(unsigned long addr, + unsigned long old_len, unsigned long new_len, + unsigned long flags, unsigned long new_addr); +long sys_remap_file_pages(unsigned long start, unsigned long size, + unsigned long prot, unsigned long pgoff, + unsigned long flags); +asmlinkage long sys_msync(unsigned long start, size_t len, int flags); +asmlinkage long sys_fadvise64(int fd, loff_t offset, size_t len, int advice); +asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice); +asmlinkage long sys_munmap(unsigned long addr, size_t len); +asmlinkage long sys_mlock(unsigned long start, size_t len); +asmlinkage long sys_munlock(unsigned long start, size_t len); +asmlinkage long sys_mlockall(int flags); +asmlinkage long sys_munlockall(void); +asmlinkage long sys_madvise(unsigned long start, size_t len, int behavior); +asmlinkage long sys_mincore(unsigned long start, size_t len, + unsigned char __user * vec); + +asmlinkage long sys_pivot_root(const char __user *new_root, + const char __user *put_old); +asmlinkage long sys_chroot(const char __user *filename); +asmlinkage long sys_mknod(const char __user *filename, int mode, + unsigned dev); +asmlinkage long sys_link(const char __user *oldname, + const char __user *newname); +asmlinkage long sys_symlink(const char *old, const char *new); +asmlinkage long sys_unlink(const char __user *pathname); +asmlinkage long sys_rename(const char __user *oldname, + const char __user *newname); +asmlinkage long sys_chmod(const char __user *filename, mode_t mode); +asmlinkage long sys_fchmod(unsigned int fd, mode_t mode); + +asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg); +#if BITS_PER_LONG == 32 +asmlinkage long sys_fcntl64(unsigned int fd, + unsigned int cmd, unsigned long arg); +#endif +asmlinkage long sys_dup(unsigned int fildes); +asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd); +asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on); +asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, + unsigned long arg); +asmlinkage long sys_flock(unsigned int fd, unsigned int cmd); +asmlinkage long sys_io_setup(unsigned nr_reqs, aio_context_t *ctx); +asmlinkage long sys_io_destroy(aio_context_t ctx); +asmlinkage long sys_io_getevents(aio_context_t ctx_id, + long min_nr, + long nr, + struct io_event *events, + struct timespec *timeout); +asmlinkage long sys_io_submit(aio_context_t, long, + struct iocb __user **); +asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb *iocb, + struct io_event *result); +asmlinkage ssize_t sys_sendfile(int out_fd, int in_fd, + off_t __user *offset, size_t count); +asmlinkage ssize_t sys_sendfile64(int out_fd, int in_fd, + loff_t __user *offset, size_t count); +asmlinkage long sys_readlink(const char __user *path, + char __user *buf, int bufsiz); +asmlinkage long sys_creat(const char __user *pathname, int mode); +asmlinkage long sys_open(const char __user *filename, + int flags, int mode); +asmlinkage long sys_close(unsigned int fd); +asmlinkage long sys_access(const char __user *filename, int mode); +asmlinkage long sys_vhangup(void); +asmlinkage long sys_chown(const char __user *filename, + uid_t user, gid_t group); +asmlinkage long sys_lchown(const char __user *filename, + uid_t user, gid_t group); +asmlinkage long sys_fchown(unsigned int fd, uid_t user, gid_t group); +#ifdef CONFIG_UID16 +asmlinkage long sys_chown16(const char *filename, + old_uid_t user, old_gid_t group); +asmlinkage long sys_lchown16(const char *filename, + old_uid_t user, old_gid_t group); +asmlinkage long sys_fchown16(unsigned int fd, old_uid_t user, old_gid_t group); +asmlinkage long sys_setregid16(old_gid_t rgid, old_gid_t egid); +asmlinkage long sys_setgid16(old_gid_t gid); +asmlinkage long sys_setreuid16(old_uid_t ruid, old_uid_t euid); +asmlinkage long sys_setuid16(old_uid_t uid); +asmlinkage long sys_setresuid16(old_uid_t ruid, old_uid_t euid, old_uid_t suid); +asmlinkage long sys_getresuid16(old_uid_t *ruid, + old_uid_t *euid, old_uid_t *suid); +asmlinkage long sys_setresgid16(old_gid_t rgid, old_gid_t egid, old_gid_t sgid); +asmlinkage long sys_getresgid16(old_gid_t *rgid, + old_gid_t *egid, old_gid_t *sgid); +asmlinkage long sys_setfsuid16(old_uid_t uid); +asmlinkage long sys_setfsgid16(old_gid_t gid); +asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist); +asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist); +asmlinkage long sys_getuid16(void); +asmlinkage long sys_geteuid16(void); +asmlinkage long sys_getgid16(void); +asmlinkage long sys_getegid16(void); +#endif + +asmlinkage long sys_utime(char __user *filename, + struct utimbuf __user *times); +asmlinkage long sys_utimes(char __user *filename, + struct timeval __user *utimes); +asmlinkage off_t sys_lseek(unsigned int fd, off_t offset, + unsigned int origin); +asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high, + unsigned long offset_low, loff_t __user *result, + unsigned int origin); +asmlinkage ssize_t sys_read(unsigned int fd, char __user *buf, + size_t count); +asmlinkage ssize_t sys_readahead(int fd, loff_t offset, size_t count); +asmlinkage ssize_t sys_readv(unsigned long fd, + const struct iovec __user *vec, + unsigned long vlen); +asmlinkage ssize_t sys_write(unsigned int fd, const char __user *buf, + size_t count); +asmlinkage ssize_t sys_writev(unsigned long fd, + const struct iovec __user *vec, + unsigned long vlen); +asmlinkage ssize_t sys_pread64(unsigned int fd, char __user *buf, + size_t count, loff_t pos); +asmlinkage ssize_t sys_pwrite64(unsigned int fd, const char __user *buf, + size_t count, loff_t pos); +asmlinkage long sys_getcwd(char __user *buf, unsigned long size); +asmlinkage long sys_mkdir(const char __user *pathname, int mode); +asmlinkage long sys_chdir(const char __user *filename); +asmlinkage long sys_fchdir(unsigned int fd); +asmlinkage long sys_rmdir(const char __user *pathname); +asmlinkage long sys_lookup_dcookie(u64 cookie64, char *buf, size_t len); +asmlinkage long sys_quotactl(unsigned int cmd, const char *special, + qid_t id, caddr_t addr); +asmlinkage long sys_getdents(unsigned int fd, + struct linux_dirent __user *dirent, + unsigned int count); +asmlinkage long sys_getdents64(unsigned int fd, + struct linux_dirent64 __user *dirent, + unsigned int count); + +asmlinkage long sys_setsockopt(int fd, int level, int optname, + char *optval, int optlen); +asmlinkage long sys_getsockopt(int fd, int level, int optname, + char __user *optval, int __user *optlen); +asmlinkage long sys_bind(int, struct sockaddr *, int); +asmlinkage long sys_connect(int, struct sockaddr *, int); +asmlinkage long sys_accept(int, struct sockaddr *, int *); +asmlinkage long sys_getsockname(int, struct sockaddr *, int *); +asmlinkage long sys_getpeername(int, struct sockaddr *, int *); +asmlinkage long sys_send(int, void *, size_t, unsigned); +asmlinkage long sys_sendto(int, void *, size_t, unsigned, + struct sockaddr *, int); +asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags); +asmlinkage long sys_recv(int, void *, size_t, unsigned); +asmlinkage long sys_recvfrom(int, void *, size_t, unsigned, + struct sockaddr *, int *); +asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags); +asmlinkage long sys_socket(int, int, int); +asmlinkage long sys_socketpair(int, int, int, int [2]); +asmlinkage long sys_socketcall(int call, unsigned long __user *args); +asmlinkage long sys_listen(int, int); +asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds, + long timeout); +asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp, + fd_set __user *exp, struct timeval __user *tvp); +asmlinkage long sys_epoll_create(int size); +asmlinkage long sys_epoll_ctl(int epfd, int op, int fd, + struct epoll_event __user *event); +asmlinkage long sys_epoll_wait(int epfd, struct epoll_event __user *events, + int maxevents, int timeout); +asmlinkage long sys_gethostname(char __user *name, int len); +asmlinkage long sys_sethostname(char __user *name, int len); +asmlinkage long sys_setdomainname(char __user *name, int len); +asmlinkage long sys_newuname(struct new_utsname __user *name); + +asmlinkage long sys_getrlimit(unsigned int resource, + struct rlimit __user *rlim); +#if defined(COMPAT_RLIM_OLD_INFINITY) || !(defined(CONFIG_IA64) || defined(CONFIG_V850)) +asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim); +#endif +asmlinkage long sys_setrlimit(unsigned int resource, + struct rlimit __user *rlim); +asmlinkage long sys_getrusage(int who, struct rusage __user *ru); +asmlinkage long sys_umask(int mask); + +asmlinkage long sys_msgget(key_t key, int msgflg); +asmlinkage long sys_msgsnd(int msqid, struct msgbuf __user *msgp, + size_t msgsz, int msgflg); +asmlinkage long sys_msgrcv(int msqid, struct msgbuf __user *msgp, + size_t msgsz, long msgtyp, int msgflg); +asmlinkage long sys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf); + +asmlinkage long sys_semget(key_t key, int nsems, int semflg); +asmlinkage long sys_semop(int semid, struct sembuf __user *sops, + unsigned nsops); +asmlinkage long sys_semctl(int semid, int semnum, int cmd, union semun arg); +asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops, + unsigned nsops, + const struct timespec __user *timeout); +asmlinkage long sys_shmat(int shmid, char __user *shmaddr, + int shmflg, unsigned long *addr); +asmlinkage long sys_shmget(key_t key, size_t size, int flag); +asmlinkage long sys_shmdt(char __user *shmaddr); +asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); + +asmlinkage long sys_pciconfig_iobase(long which, unsigned long bus, unsigned long devfn); +asmlinkage long sys_pciconfig_read(unsigned long bus, unsigned long dfn, + unsigned long off, unsigned long len, + void *buf); +asmlinkage long sys_pciconfig_write(unsigned long bus, unsigned long dfn, + unsigned long off, unsigned long len, + void *buf); + +asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3, + unsigned long arg4, unsigned long arg5); +asmlinkage long sys_swapon(const char __user *specialfile, int swap_flags); +asmlinkage long sys_swapoff(const char __user *specialfile); +asmlinkage long sys_sysctl(struct __sysctl_args __user *args); +asmlinkage long sys_sysinfo(struct sysinfo __user *info); +asmlinkage long sys_sysfs(int option, + unsigned long arg1, unsigned long arg2); +asmlinkage long sys_nfsservctl(int cmd, + struct nfsctl_arg __user *arg, + void __user *res); +asmlinkage long sys_syslog(int type, char __user *buf, int len); +asmlinkage long sys_uselib(const char __user *library); +asmlinkage long sys_ni_syscall(void); + +#endif diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 9afd45c3670a..53c33ccddddc 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -734,7 +734,6 @@ enum #ifdef __KERNEL__ -extern asmlinkage long sys_sysctl(struct __sysctl_args __user *); extern void sysctl_init(void); typedef struct ctl_table ctl_table; |
