[vala/0.40] posix: add *at() calls and related constants



commit 23d44150d9a679e6ccf81b110d47d436460e5086
Author: Christian Kellner <christian kellner me>
Date:   Tue Jul 16 17:54:29 2019 +0200

    posix: add *at() calls and related constants
    
    Add missing calls from the *at() call family that was added in
    POSIX.1-2008, and related constants.
    
    Fixes https://gitlab.gnome.org/GNOME/vala/issues/823

 vapi/posix.vapi | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
---
diff --git a/vapi/posix.vapi b/vapi/posix.vapi
index f7cf5bda6..3b3cd68b8 100644
--- a/vapi/posix.vapi
+++ b/vapi/posix.vapi
@@ -305,6 +305,22 @@ namespace Posix {
        public const int O_RDWR;
        [CCode (cheader_filename = "fcntl.h")]
        public const int O_WRONLY;
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public const int O_DIRECTORY;
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public const int O_CLOEXEC;
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public const int O_NOFOLLOW;
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public const int AT_FDCWD;
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public const int AT_EACCESS;
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public const int AT_SYMLINK_FOLLOW;
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public const int AT_SYMLINK_NOFOLLOW;
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public const int AT_REMOVEDIR;
        [CCode (cheader_filename = "fcntl.h")]
        public const int POSIX_FADV_NORMAL;
        [CCode (cheader_filename = "fcntl.h")]
@@ -323,6 +339,8 @@ namespace Posix {
        public int fcntl (int fd, int cmd, ...);
        [CCode (cheader_filename = "fcntl.h")]
        public int open (string path, int oflag, mode_t mode=0);
+       [CCode (cheader_filename = "fcntl.h", feature_test_macro = "_GNU_SOURCE")]
+       public int openat (int dirfd, string path, int oflag, mode_t mode=0);
        [CCode (cheader_filename = "fcntl.h")]
        public int posix_fadvise (int fd, long offset, long len, int advice);
        [CCode (cheader_filename = "fcntl.h")]
@@ -1889,6 +1907,8 @@ namespace Posix {
 
        [CCode (cheader_filename = "sys/stat.h")]
        public int mkfifo (string filename, mode_t mode);
+       [CCode (cheader_filename = "sys/stat.h", feature_test_macro = "_GNU_SOURCE")]
+       public int mkfifoat (int dirfd, string pathname, mode_t mode);
 
        [CCode (cheader_filename = "sys/stat.h")]
        public const mode_t S_IFMT;
@@ -1978,17 +1998,25 @@ namespace Posix {
        int stat (string filename, out Stat buf);
        [CCode (cheader_filename = "sys/stat.h")]
        int lstat (string filename, out Stat buf);
+       [CCode (cheader_filename = "sys/stat.h", feature_test_macro = "_GNU_SOURCE")]
+       int fstatat (int dirfd, string pathname, out Stat buf, int flags);
 
        [CCode (cheader_filename = "sys/stat.h")]
        public int chmod (string filename, mode_t mode);
        [CCode (cheader_filename = "sys/stat.h")]
        public int fchmod (int fd, mode_t mode);
+       [CCode (cheader_filename = "sys/stat.h", feature_test_macro = "_GNU_SOURCE")]
+       public int fchmodat (int dirfd, string pathname, mode_t mode, int flags);
        [CCode (cheader_filename = "sys/stat.h")]
        public mode_t umask (mode_t mask);
        [CCode (cheader_filename = "sys/stat.h")]
        public int mkdir (string path, mode_t mode);
+       [CCode (cheader_filename = "sys/stat.h", feature_test_macro = "_GNU_SOURCE")]
+       public int mkdirat (int dirfd, string pathname, mode_t mode);
        [CCode (cheader_filename = "sys/types.h,sys/stat.h,fcntl.h,unistd.h")]
        public int mknod (string pathname, mode_t mode, dev_t dev);
+       [CCode (cheader_filename = "sys/stat.h", feature_test_macro = "_GNU_SOURCE")]
+       public int mknodat (int dirfd, string pathname, mode_t mode, dev_t dev);
 
        [CCode (cheader_filename = "sys/stat.h")]
        public int utimensat (int dirfd, string pathname, [CCode (array_length = false)] timespec[] times, 
int flags = 0);
@@ -2192,6 +2220,8 @@ namespace Posix {
        public ssize_t pread (int fd, void* buf, size_t count, off_t offset);
        [CCode (cheader_filename = "unistd.h")]
        public ssize_t readlink (string path, char[] buf);
+       [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")]
+       public ssize_t readlinkat (int dirfd, string pathname, char[] buf);
        [CCode (cheader_filename = "sys/uio.h")]
        public ssize_t readv (int fd, iovector vector, int iovcnt = 1);
        [CCode (cname = "readv", cheader_filename = "sys/uio.h")]
@@ -2206,6 +2236,8 @@ namespace Posix {
        public int setuid (uid_t uid);
        [CCode (cheader_filename = "unistd.h")]
        public int unlink (string filename);
+       [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")]
+       public int unlinkat (int dirfd, string pathname, int flags);
        [CCode (cheader_filename = "unistd.h")]
        public ssize_t write (int fd, void* buf, size_t count);
        [CCode (cheader_filename = "unistd.h")]
@@ -2236,12 +2268,18 @@ namespace Posix {
        public bool isatty (int fd);
        [CCode (cheader_filename = "unistd.h")]
        public int link (string from, string to);
+       [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")]
+       public int linkat (int from_dirfd, string from, int to_dirfd, string to, int flags);
        [CCode (cheader_filename = "unistd.h")]
        public int symlink (string from, string to);
+       [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")]
+       public int symlinkat (string from, int to_dirfd, string to);
        [CCode (cheader_filename = "unistd.h")]
        public long sysconf (int name);
        [CCode (cheader_filename = "unistd.h")]
        public int rmdir (string path);
+       [CCode (cheader_filename = "stdio.h", feature_test_macro = "_GNU_SOURCE")]
+       public int renameat (int from_fd, string from, int to_dirfd, string to);
        [CCode (cheader_filename = "unistd.h")]
        public pid_t tcgetpgrp (int fd);
        [CCode (cheader_filename = "unistd.h")]
@@ -2346,6 +2384,8 @@ namespace Posix {
        public int euidaccess (string patchname, int mode);
        [CCode (cheader_filename = "unistd.h")]
        public int eaccess (string patchname, int mode);
+       [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")]
+       public int faccessat (int dirfd, string pathname, int mode, int flags);
 
        [CCode (cheader_filename = "unistd.h")]
        public uint alarm (uint seconds);
@@ -2363,6 +2403,8 @@ namespace Posix {
        public int fchown (int fd, uid_t owner, gid_t group);
        [CCode (cheader_filename = "unistd.h")]
        public int lchown (string filename, uid_t owner, gid_t group);
+       [CCode (cheader_filename = "unistd.h", feature_test_macro = "_GNU_SOURCE")]
+       public int fchownat (int dirfd, string pathname, uid_t owner, gid_t group, int flags);
        [CCode (cheader_filename = "unistd.h")]
        public int chdir (string filepath);
        [CCode (cheader_filename = "unistd.h")]


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]