]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
libarchive: Fix Archive.[set_]mode/perm() and add Archive.FileMode
authorRico Tzschichholz <ricotz@ubuntu.com>
Mon, 8 Apr 2019 18:32:49 +0000 (20:32 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Wed, 10 Apr 2019 14:26:19 +0000 (16:26 +0200)
Keep FileType as special case of FileMode for filetype methods.

vapi/libarchive.vapi

index 967a81861f2d20d1d21a15720fa0132f8c8592c7..eefd32c3db32e5c46cf05c6fe38f52322498bd70 100644 (file)
@@ -363,6 +363,12 @@ namespace Archive {
                );
        }
 
+       [SimpleType]
+       [CCode (cheader_filename = "archive_entry.h", cname = "__LA_MODE_T", has_type_id = false)]
+       [IntegerType (rank = 9)]
+       public struct FileMode : Posix.mode_t {
+       }
+
        [CCode (cheader_filename = "archive_entry.h", cprefix = "AE_", cname = "__LA_MODE_T", has_type_id = false)]
        public enum FileType {
                IFMT,
@@ -398,12 +404,13 @@ namespace Archive {
                public unowned string gname ();
                public unowned string hardlink ();
                public int64_t ino ();
-               public FileType mode ();
+               public FileMode mode ();
                public time_t mtime ();
                public long mtime_nsec ();
                public bool mtime_is_set ();
                public uint nlink ();
                public unowned string pathname ();
+               public FileMode perm ();
                public int64_t rdev ();
                public int64_t rdevmajor ();
                public int64_t rdevminor ();
@@ -423,7 +430,7 @@ namespace Archive {
                public void set_dev (int64_t dev);
                public void set_devmajor (int64_t major);
                public void set_devminor (int64_t major);
-               public void set_filetype (uint filetype);
+               public void set_filetype (FileType filetype);
                public void set_fflags (ulong set, ulong clear);
                public unowned string copy_fflags_text (string text);
                public void set_gid (int64_t gid);
@@ -433,13 +440,13 @@ namespace Archive {
                public void set_ino (ulong ino);
                public void set_link (string link);
                public Result update_link_utf8 (string link);
-               public void set_mode (FileType mode);
+               public void set_mode (FileMode mode);
                public void set_mtime (time_t mtime, long blah);
                public void unset_mtime ();
                public void set_nlink (uint nlink);
                public void set_pathname (string pathname);
                public Result  update_pathname_utf8 (string pathname);
-               public void set_perm (FileType mode);
+               public void set_perm (FileMode mode);
                public void set_rdev (int64_t dev);
                public void set_rdevmajor (int64_t devmajor);
                public void set_rdevminor (int64_t devminor);