]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
posix: Add opendir and friends
authorMichael 'Mickey' Lauer <mickey@vanille-media.de>
Mon, 16 Mar 2009 15:13:58 +0000 (16:13 +0100)
committerJürg Billeter <j@bitron.ch>
Sun, 12 Apr 2009 15:59:26 +0000 (17:59 +0200)
Signed-off-by: Michael 'Mickey' Lauer <mlauer@vanille-media.de>
vapi/posix.vapi

index d9633a2a118a1d15dbe52a4dd5fc548bb0a4d97c..ff376bd41a0f03d96d6f442d381af292d064bf1a 100644 (file)
@@ -56,6 +56,36 @@ namespace Posix {
        [CCode (cheader_filename = "ctype.h")]
        public int toupper (int c);
 
+       [Compact]
+       [CCode (cname = "struct dirent", cheader_filename = "dirent.h")]
+       public class DirEnt {
+               public ino_t d_ino;
+               public off_t d_off;
+               public ushort d_reclen;
+               public char d_type;
+               public char[265] d_name;
+               }
+
+       [Compact]
+       [CCode (cname = "DIR", free_function = "closedir", cheader_filename = "dirent.h")]
+       public class Dir {
+       }
+
+       [CCode (cheader_filename = "dirent.h")]
+       public int dirfd (Dir dir);
+       [CCode (cheader_filename = "dirent.h")]
+       public Dir? opendir (string filename);
+       [CCode (cheader_filename = "dirent.h")]
+       public Dir? fdopendir (int fd);
+       [CCode (cheader_filename = "dirent.h")]
+       public unowned DirEnt? readdir (Dir dir);
+       [CCode (cheader_filename = "dirent.h")]
+       public void rewinddir (Dir dir);
+       [CCode (cheader_filename = "dirent.h")]
+       public void seekdir (Dir dir, long pos);
+       [CCode (cheader_filename = "dirent.h")]
+       public long telldir (Dir dir);
+
        [CCode (cheader_filename = "errno.h")]
        public int errno;
        [CCode (cheader_filename = "errno.h")]