From: Jens Georg Date: Sat, 7 Nov 2009 19:15:37 +0000 (-0800) Subject: Add libmagic bindings. X-Git-Tag: 0.7.9~82 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a0d18f481a69bad8f91b48940f65ffd8c05cf812;p=thirdparty%2Fvala.git Add libmagic bindings. Fixes bug 599811. --- diff --git a/vapi/Makefile.am b/vapi/Makefile.am index fc5fd8660..e9587b68e 100644 --- a/vapi/Makefile.am +++ b/vapi/Makefile.am @@ -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 index 000000000..2d1448b58 --- /dev/null +++ b/vapi/libmagic.vapi @@ -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 + } +}