summaryrefslogtreecommitdiff
path: root/vapi/libmagic.vapi
blob: c152ad57e72994a480c75faa24045118070b6dce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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", has_type_id = false)]
	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
	}
}