y2038: futex: Add support for __kernel_timespec
[sfrench/cifs-2.6.git] / include / linux / syscalls.h
index 2ff814c92f7fb1955f3074ba86ae6cb7e6a7baac..247ad9eca955798ad1cc1859a2a56d5d693109ec 100644 (file)
@@ -60,7 +60,7 @@ struct tms;
 struct utimbuf;
 struct mq_attr;
 struct compat_stat;
-struct compat_timeval;
+struct old_timeval32;
 struct robust_list_head;
 struct getcpu_cache;
 struct old_linux_dirent;
@@ -296,12 +296,18 @@ asmlinkage long sys_io_getevents(aio_context_t ctx_id,
                                long min_nr,
                                long nr,
                                struct io_event __user *events,
-                               struct timespec __user *timeout);
+                               struct __kernel_timespec __user *timeout);
 asmlinkage long sys_io_pgetevents(aio_context_t ctx_id,
                                long min_nr,
                                long nr,
                                struct io_event __user *events,
-                               struct timespec __user *timeout,
+                               struct __kernel_timespec __user *timeout,
+                               const struct __aio_sigset *sig);
+asmlinkage long sys_io_pgetevents_time32(aio_context_t ctx_id,
+                               long min_nr,
+                               long nr,
+                               struct io_event __user *events,
+                               struct old_timespec32 __user *timeout,
                                const struct __aio_sigset *sig);
 
 /* fs/xattr.c */
@@ -466,10 +472,16 @@ asmlinkage long sys_sendfile64(int out_fd, int in_fd,
 
 /* fs/select.c */
 asmlinkage long sys_pselect6(int, fd_set __user *, fd_set __user *,
-                            fd_set __user *, struct timespec __user *,
+                            fd_set __user *, struct __kernel_timespec __user *,
+                            void __user *);
+asmlinkage long sys_pselect6_time32(int, fd_set __user *, fd_set __user *,
+                            fd_set __user *, struct old_timespec32 __user *,
                             void __user *);
 asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int,
-                         struct timespec __user *, const sigset_t __user *,
+                         struct __kernel_timespec __user *, const sigset_t __user *,
+                         size_t);
+asmlinkage long sys_ppoll_time32(struct pollfd __user *, unsigned int,
+                         struct old_timespec32 __user *, const sigset_t __user *,
                          size_t);
 
 /* fs/signalfd.c */
@@ -513,7 +525,8 @@ asmlinkage long sys_timerfd_gettime(int ufd, struct __kernel_itimerspec __user *
 
 /* fs/utimes.c */
 asmlinkage long sys_utimensat(int dfd, const char __user *filename,
-                               struct timespec __user *utimes, int flags);
+                               struct __kernel_timespec __user *utimes,
+                               int flags);
 
 /* kernel/acct.c */
 asmlinkage long sys_acct(const char __user *name);
@@ -540,7 +553,7 @@ asmlinkage long sys_unshare(unsigned long unshare_flags);
 
 /* kernel/futex.c */
 asmlinkage long sys_futex(u32 __user *uaddr, int op, u32 val,
-                       struct timespec __user *utime, u32 __user *uaddr2,
+                       struct __kernel_timespec __user *utime, u32 __user *uaddr2,
                        u32 val3);
 asmlinkage long sys_get_robust_list(int pid,
                                    struct robust_list_head __user * __user *head_ptr,
@@ -613,7 +626,7 @@ 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);
+                               struct __kernel_timespec __user *interval);
 
 /* kernel/signal.c */
 asmlinkage long sys_restart_syscall(void);
@@ -634,7 +647,7 @@ asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set,
 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,
+                               const struct __kernel_timespec __user *uts,
                                size_t sigsetsize);
 asmlinkage long sys_rt_sigqueueinfo(pid_t pid, int sig, siginfo_t __user *uinfo);
 
@@ -829,7 +842,7 @@ asmlinkage long sys_perf_event_open(
 asmlinkage long sys_accept4(int, struct sockaddr __user *, int __user *, int);
 asmlinkage long sys_recvmmsg(int fd, struct mmsghdr __user *msg,
                             unsigned int vlen, unsigned flags,
-                            struct timespec __user *timeout);
+                            struct __kernel_timespec __user *timeout);
 
 asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr,
                                int options, struct rusage __user *ru);
@@ -954,8 +967,6 @@ asmlinkage long sys_access(const char __user *filename, int mode);
 asmlinkage long sys_rename(const char __user *oldname,
                                const char __user *newname);
 asmlinkage long sys_symlink(const char __user *old, const char __user *new);
-asmlinkage long sys_utimes(char __user *filename,
-                               struct timeval __user *utimes);
 #if defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_COMPAT_STAT64)
 asmlinkage long sys_stat64(const char __user *filename,
                                struct stat64 __user *statbuf);
@@ -985,14 +996,18 @@ asmlinkage long sys_alarm(unsigned int seconds);
 asmlinkage long sys_getpgrp(void);
 asmlinkage long sys_pause(void);
 asmlinkage long sys_time(time_t __user *tloc);
+#ifdef __ARCH_WANT_SYS_UTIME
 asmlinkage long sys_utime(char __user *filename,
                                struct utimbuf __user *times);
+asmlinkage long sys_utimes(char __user *filename,
+                               struct timeval __user *utimes);
+asmlinkage long sys_futimesat(int dfd, const char __user *filename,
+                             struct timeval __user *utimes);
+#endif
 asmlinkage long sys_creat(const char __user *pathname, umode_t mode);
 asmlinkage long sys_getdents(unsigned int fd,
                                struct linux_dirent __user *dirent,
                                unsigned int count);
-asmlinkage long sys_futimesat(int dfd, const char __user *filename,
-                             struct timeval __user *utimes);
 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_poll(struct pollfd __user *ufds, unsigned int nfds,