aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Machata <pmachata@apm-mustang-ev2-02.ml3.eng.bos.redhat.com>2014-01-30 19:35:56 -0500
committerPetr Machata <pmachata@redhat.com>2014-02-05 02:08:41 +0100
commitf39611f79e5be4f755a8354c4f15371e7bc21a11 (patch)
tree9aa15a0c798638b79b11d4909f5aadbe634965cd
parenta94829bd7791d39326aba1c028cda4c869e093a7 (diff)
downloadltrace-f39611f79e5be4f755a8354c4f15371e7bc21a11.tar.gz
Add some missing system calls to syscalls.conf
-rw-r--r--etc/syscalls.conf33
1 files changed, 32 insertions, 1 deletions
diff --git a/etc/syscalls.conf b/etc/syscalls.conf
index 562f4e7..09d347d 100644
--- a/etc/syscalls.conf
+++ b/etc/syscalls.conf
@@ -1,6 +1,10 @@
# syscall.conf -- system call prototypes
# See ltrace.conf(5) for description of syntax of this file.
+# Special value used to indicate the *at functions should use the
+# current working directory.
+typedef at_dirfd_t = enum[int](AT_FDCWD=-100);
+
addr brk(addr);
int close(int);
int execve(string,addr,addr);
@@ -14,7 +18,7 @@ int getpid();
addr mmap(addr,ulong,int,int,int,long);
int munmap(addr,ulong);
-int open(string,int,octal);
+int open(string, hex(uint), oct(uint));
int personality(uint);
long read(int,+string0,ulong);
int stat(string,addr);
@@ -113,3 +117,30 @@ ulong writev(int,addr,int);
int mprotect(addr,int,int);
int access(string,octal);
int getdents(uint, void *, uint);
+
+int openat(at_dirfd_t, string, hex(uint), oct(uint));
+int mknodat(at_dirfd_t, string, oct(uint), ushort)
+int mkdirat(at_dirfd_t, string, oct(uint));
+int unlinkat(at_dirfd_t, string, hex(uint));
+int symlinkat(string, at_dirfd_t, string);
+int linkat(at_dirfd_t, string, at_dirfd_t, string, hex(uint));
+int renameat(at_dirfd_t, string, at_dirfd_t, string);
+int faccessat(at_dirfd_t, string, oct(uint), hex(uint));
+int fchmodat(at_dirfd_t, string, oct(uint), hex(uint));
+int fchownat(at_dirfd_t, string, int, int, hex(uint));
+int readlinkat(at_dirfd_t, string, +string[arg4], ulong);
+int fstatat(at_dirfd_t, string, addr, hex(uint));
+int utimensat(at_dirfd_t, string, addr, hex(uint));
+int futimens(int, addr);
+int futimesat(at_dirfd_t, string, addr);
+addr shmat(int, addr, hex(uint));
+int shmdt(addr);
+
+typedef fid_type = enum(FILEID_ROOT=0, FILEID_INO32_GEN=1, FILEID_INO32_GEN_PARENT=2, FILEID_BTRFS_WITHOUT_PARENT=0x4d, FILEID_BTRFS_WITH_PARENT=0x4e, FILEID_BTRFS_WITH_PARENT_ROOT=0x4f, FILEID_UDF_WITHOUT_PARENT=0x51, FILEID_UDF_WITH_PARENT=0x52, FILEID_NILFS_WITHOUT_PARENT=0x61, FILEID_NILFS_WITH_PARENT=0x62);
+typedef file_handle = struct(uint, fid_type, array(hex(char), elt1)*);
+int name_to_handle_at(at_dirfd_t, string, file_handle, int*, hex(uint));
+int open_by_handle_at(at_dirfd_t, file_handle, hex(uint));
+
+int newfstatat(at_dirfd_t, string, addr, hex(uint));
+int creat(string, oct(int));
+int ustat(ushort, addr);