Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/tls-maxphys]: src/sys/rump/kern/lib/libsys_linux support utimes on non-a...
details: https://anonhg.NetBSD.org/src/rev/ded8b68d97e0
branches: tls-maxphys
changeset: 852972:ded8b68d97e0
user: pooka <pooka%NetBSD.org@localhost>
date: Mon Apr 08 20:54:48 2013 +0000
description:
support utimes on non-alpha linux platforms
diffstat:
sys/rump/kern/lib/libsys_linux/syscalls.master | 607 +++++++++++++++++++++++++
1 files changed, 607 insertions(+), 0 deletions(-)
diffs (truncated from 611 to 300 lines):
diff -r 345d1f135c85 -r ded8b68d97e0 sys/rump/kern/lib/libsys_linux/syscalls.master
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/rump/kern/lib/libsys_linux/syscalls.master Mon Apr 08 20:54:48 2013 +0000
@@ -0,0 +1,607 @@
+ $NetBSD: syscalls.master,v 1.4.4.2 2013/04/08 20:54:48 pooka Exp $
+
+; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
+
+; NetBSD system call name/number "master" file.
+; (See syscalls.conf to see what it is processed into.)
+;
+; Fields: number type [type-dependent ...]
+; number system call number, must be in order
+; type one of NODEF, UNIMPL, or NOARGS
+;
+; types:
+; NODEF always included
+; UNIMPL unimplemented, not included in system
+; NODEF included, but don't define the syscall number
+; NOARGS included, but don't define the syscall args structure
+;
+; arguments:
+; PAD argument not part of the C interface, used only for padding
+;
+;
+; The purpose of this syscalls.master is to map to the Linux types which
+; are marshalled into the arg structure by the clientside rump_syscalls.c
+; code in librumpclient.
+;
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/signal.h>
+#include <sys/socket.h>
+#include <sys/mount.h>
+#include <sys/sched.h>
+#include <sys/syscallargs.h>
+
+#include <compat/linux/common/linux_types.h>
+#include <compat/linux/common/linux_signal.h>
+
+#include "rump_linux_syscallargs.h"
+
+%%
+
+0 NOARGS { int|linux_sys||nosys(void); }
+1 UNIMPL exit
+2 UNIMPL fork
+3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
+4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \
+ size_t nbyte); }
+5 NODEF { int|linux_sys||open(const char *path, \
+ int flags, int mode); }
+6 NOARGS { int|sys||close(int fd); }
+7 UNIMPL wait4
+8 UNIMPL creat
+9 NOARGS { int|sys||link(const char *path, const char *link); }
+10 NODEF { int|linux_sys||unlink(const char *path); }
+11 UNIMPL execv
+12 NOARGS { int|sys||chdir(const char *path); }
+13 NOARGS { int|sys||fchdir(int fd); }
+14 UNIMPL mknod
+15 NOARGS { int|sys||chmod(const char *path, mode_t mode); }
+16 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \
+ gid_t gid); }
+17 UNIMPL obreak
+18 UNIMPL getfsstat
+19 UNIMPL lseek
+20 NOARGS { pid_t|sys||getpid_with_ppid(void); } getpid
+21 UNIMPL mount
+22 UNIMPL unmount
+23 NOARGS { int|sys||setuid(uid_t uid); }
+24 NOARGS { uid_t|sys||getuid_with_euid(void); } getuid
+25 NOARGS { uid_t|sys||geteuid(void); }
+26 UNIMPL ptrace
+27 NODEF { ssize_t|linux_sys||recvmsg(int s, \
+ struct linux_msghdr *msg, int flags); }
+28 NODEF { ssize_t|linux_sys||sendmsg(int s, \
+ const struct linux_msghdr *msg, int flags); }
+29 NODEF { ssize_t|linux_sys||recvfrom(int s, void *buf, \
+ int len, int flags, struct osockaddr *from, \
+ int *fromlenaddr); }
+30 NODEF { int|linux_sys||accept(int s, struct osockaddr *name, \
+ int *anamelen); }
+31 NODEF { int|linux_sys||getpeername(int fdes, \
+ struct osockaddr *asa, int *alen); }
+32 NODEF { int|linux_sys||getsockname(int fdes, \
+ struct osockaddr *asa, int *alen); }
+33 NOARGS { int|sys||access(const char *path, int flags); }
+34 UNIMPL chflags
+35 UNIMPL fchflags
+36 NOARGS { void|sys||sync(void); }
+37 UNIMPL kill
+38 UNIMPL stat
+39 UNIMPL getppid
+40 UNIMPL lstat
+41 NOARGS { int|sys||dup(int fd); }
+
+; we mimic the librumpclient calling convention, therefore no linux_sys_pipe
+42 NOARGS { int|sys||pipe(void); }
+
+43 UNIMPL getegid
+44 UNIMPL profil
+45 UNIMPL ktrace
+46 UNIMPL sigaction
+47 NOARGS { gid_t|sys||getgid_with_egid(void); } getgid
+48 UNIMPL sigprocmask
+49 UNIMPL __getlogin
+50 UNIMPL __setlogin
+51 UNIMPL acct
+52 UNIMPL sigpending
+53 UNIMPL sigaltstack
+54 NODEF { int|linux_sys||ioctl(int fd, \
+ u_long com, void *data); }
+55 UNIMPL reboot
+56 UNIMPL revoke
+57 NOARGS { int|sys||symlink(const char *path, \
+ const char *link); }
+58 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \
+ int count); }
+59 UNIMPL execve
+60 NOARGS { mode_t|sys||umask(mode_t newmask); }
+61 NOARGS { int|sys||chroot(const char *path); }
+62 UNIMPL fstat43
+63 UNIMPL getkerninfo
+64 UNIMPL getpagesize
+65 UNIMPL msync
+66 UNIMPL vfork
+67 UNIMPL vread
+68 UNIMPL vwrite
+69 UNIMPL sbrk
+70 UNIMPL sstk
+71 UNIMPL mmap
+72 UNIMPL ovadvise
+73 UNIMPL munmap
+74 UNIMPL mprotect
+75 UNIMPL madvise
+76 UNIMPL vhangup
+77 UNIMPL vlimit
+78 UNIMPL mincore
+79 NOARGS { int|sys||getgroups(int gidsetsize, \
+ int *gidset); }
+80 NOARGS { int|sys||setgroups(int gidsetsize, \
+ const int *gidset); }
+81 NOARGS { int|sys||getpgrp(void); }
+82 NOARGS { int|sys||setpgid(int pid, int pgid); }
+83 UNIMPL setitimer
+84 UNIMPL wait
+85 UNIMPL swapon
+86 UNIMPL getitimer
+87 UNIMPL gethostname
+88 UNIMPL sethostname
+89 UNIMPL getdtablesize
+90 NOARGS { int|sys||dup2(int from, int to); }
+91 UNIMPL getdopt
+92 NODEF { int|linux_sys||fcntl(int fd, int cmd, void *arg); }
+93 UNIMPL select
+94 UNIMPL setdopt
+95 NOARGS { int|sys||fsync(int fd); }
+96 UNIMPL setpriority
+97 UNIMPL socket
+98 NODEF { int|linux_sys||connect(int s, \
+ const struct osockaddr *name, \
+ unsigned int namelen); }
+99 UNIMPL accept
+100 UNIMPL getpriority
+
+101 UNIMPL send
+102 UNIMPL recv
+
+103 UNIMPL sigreturn
+104 NODEF { int|linux_sys||bind(int s, \
+ const struct osockaddr *name, unsigned namelen); }
+105 NODEF { int|linux_sys||setsockopt(int s, int level, \
+ int name, const void *val, int optlen); }
+106 NOARGS { int|sys||listen(int s, int backlog); }
+107 UNIMPL vtimes
+108 UNIMPL sigvec
+109 UNIMPL sigblock
+110 UNIMPL sigsetmask
+111 UNIMPL sigsuspend
+112 UNIMPL sigstack
+113 UNIMPL orecvmsg
+114 UNIMPL osendmsg
+115 UNIMPL vtrace
+116 UNIMPL gettimeofday
+117 UNIMPL getrusage
+118 NODEF { int|linux_sys||getsockopt(int s, int level, \
+ int name, void *val, int *avalsize); }
+119 UNIMPL resuba
+120 NOARGS { ssize_t|sys||readv(int fd, \
+ const struct iovec *iovp, int iovcnt); }
+121 NOARGS { ssize_t|sys||writev(int fd, \
+ const struct iovec *iovp, int iovcnt); }
+122 UNIMPL settimeofday
+123 NOARGS { int|sys||__posix_fchown(int fd, int uid, int gid); }
+124 NOARGS { int|sys||fchmod(int fd, mode_t mode); }
+125 UNIMPL orecvfrom
+126 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); }
+127 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); }
+128 NOARGS { int|sys||__posix_rename(const char *from, \
+ const char *to); }
+129 UNIMPL otruncate
+130 UNIMPL oftruncate
+131 NOARGS { int|sys||flock(int fd, int how); }
+132 UNIMPL mkfifo
+133 NODEF { int|linux_sys||sendto(int s, void *buf, \
+ int len, int flags, const struct osockaddr *to, \
+ int tolen); }
+134 NOARGS { int|sys||shutdown(int s, int how); }
+135 NODEF { int|linux_sys||socketpair(int domain, int type, \
+ int protocol, int *rsv); }
+136 NOARGS { int|sys||mkdir(const char *path, mode_t mode); }
+137 NOARGS { int|sys||rmdir(const char *path); }
+138 UNIMPL utimes
+
+139 UNIMPL 4.2 sigreturn
+140 UNIMPL adjtime
+141 UNIMPL ogetpeername
+142 UNIMPL ogethostid
+143 UNIMPL osethostid
+144 UNIMPL ogetrlimit
+145 UNIMPL osetrlimit
+146 UNIMPL okillpg
+147 NOARGS { int|sys||setsid(void); }
+148 UNIMPL quotactl
+149 UNIMPL oquota
+150 UNIMPL ogetsockname
+
+; Syscalls 151-180 inclusive are reserved for vendor-specific
+; system calls. (This includes various calls added for compatibity
+; with other Unix variants.)
+; Some of these calls are now supported by BSD...
+151 UNIMPL
+152 UNIMPL
+153 UNIMPL
+154 UNIMPL
+155 UNIMPL nfssvc
+156 UNIMPL ogetdirentries
+157 UNIMPL statfs12
+158 UNIMPL fstatfs12
+159 UNIMPL
+160 UNIMPL
+161 UNIMPL getfh30
+162 UNIMPL ogetdomainname
+163 UNIMPL osetdomainname
+164 UNIMPL ouname
+165 UNIMPL sysarch
+166 UNIMPL
+167 UNIMPL
+168 UNIMPL
+169 UNIMPL 1.0 semsys
+170 UNIMPL 1.0 msgsys
+171 UNIMPL 1.0 shmsys
+172 UNIMPL
+173 NODEF { ssize_t|linux_sys||pread(int fd, char *buf, \
+ size_t nbyte, int PAD, linux_off_t offset); }
+174 NODEF { ssize_t|linux_sys||pwrite(int fd, char *buf, \
+ size_t nbyte, int PAD, linux_off_t offset); }
+175 UNIMPL ntp_gettime
+176 UNIMPL ntp_adjtime
+177 UNIMPL
+178 UNIMPL
+179 UNIMPL
+180 UNIMPL
+
+; Syscalls 180-199 are used by/reserved for BSD
+181 NOARGS { int|sys||setgid(gid_t gid); }
+182 NOARGS { int|sys||setegid(gid_t egid); }
+183 NOARGS { int|sys||seteuid(uid_t euid); }
+184 UNIMPL lfs_bmapv
+185 UNIMPL lfs_markv
+186 UNIMPL lfs_segclean
+187 UNIMPL lfs_segwait
+188 UNIMPL stat12
+189 UNIMPL fstat12
+190 UNIMPL lstat12
+191 UNIMPL pathconf
+192 UNIMPL fpathconf
+193 UNIMPL
+194 NODEF { int|linux_sys||getrlimit(int which, \
+ struct orlimit *rlp); }
+195 NODEF { int|linux_sys||setrlimit(int which, \
+ const struct orlimit *rlp); }
+196 UNIMPL getdirentries
+197 UNIMPL mmap
+198 UNIMPL __syscall
+199 NOARGS { off_t|sys||lseek(int fd, int PAD, off_t offset, \
+ int whence); }
+200 NOARGS { int|sys||truncate(const char *path, int PAD, \
+ off_t length); }
+201 NOARGS { int|sys||ftruncate(int fd, int PAD, off_t length); }
+202 UNIMPL __sysctl
+203 UNIMPL mlock
+204 UNIMPL munlock
+205 UNIMPL undelete
+206 UNIMPL futimes
+207 NOARGS { pid_t|sys||getpgid(pid_t pid); }
+208 UNIMPL reboot
+209 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \
Home |
Main Index |
Thread Index |
Old Index