]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Add libmagic bindings.
authorJens Georg <mail@jensge.org>
Sat, 7 Nov 2009 19:15:37 +0000 (11:15 -0800)
committerEvan Nemerson <evan@coeus-group.com>
Sat, 7 Nov 2009 19:15:37 +0000 (11:15 -0800)
Fixes bug 599811.

vapi/Makefile.am
vapi/libmagic.vapi [new file with mode: 0644]

index fc5fd8660567ba078c8bbe28df92a57492b6802d..e9587b68e6e4374217323d7967cb9de8908d13f6 100644 (file)
@@ -111,6 +111,7 @@ dist_vapi_DATA = \
        libgnomeui-2.0.vapi \
        libgsf-1.deps \
        libgsf-1.vapi \
+       libmagic.vapi \
        libnl-1.vapi \
        libnotify.deps \
        libnotify.vapi \
diff --git a/vapi/libmagic.vapi b/vapi/libmagic.vapi
new file mode 100644 (file)
index 0000000..2d1448b
--- /dev/null
@@ -0,0 +1,43 @@
+[CCode (cheader_filename = "magic.h")]
+namespace LibMagic {
+       [Compact]
+       [CCode (cname = "struct magic_set", cprefix = "magic_", free_function = "magic_close")]
+       public class Magic {
+               [CCode (cname = "magic_open")]
+               public Magic (Flags flags = Flags.NONE);
+               public unowned string? error ();
+               public int errno ();
+               public unowned string? file (string filename);
+               public unowned string? buffer (void *buffer, size_t length);
+               public int setflags (int flags);
+               public int check (string? filename = null);
+               public int compile (string? filename = null);
+               public int load (string? filename = null);
+       }
+
+       [Flags]
+       [CCode (cprefix = "MAGIC_", cname = "int")]
+       public enum Flags {
+               NONE,
+               DEBUG,
+               SYMLINK,
+               COMPRESS,
+               DEVICES,
+               MIME_TYPE,
+               MIME_ENCODING,
+               CONTINUE,
+               CHECK,
+               PRESERVE_ATIME,
+               RAW,
+               ERROR,
+               NO_CHECK_ATYPE,
+               NO_CHECK_ASCII,
+               NO_CHECK_COMPRESS,
+               NO_CHECK_ELF,
+               NO_CHECK_FORTRAN,
+               NO_CHECK_SOFT,
+               NO_CHECK_TAR,
+               NO_CHECK_TOKENS,
+               NO_CHECK_TROFF
+       }
+}