Module Magic

module Magic: sig .. end
Try to identify the type of file using some "magic number" tests.
Author(s): Christophe Troestler <chris_77@users.sourceforge.net>
Version: 0.7.3

type t 
Magic "cookies".
exception Failure of string
Raised by the functions of this library when they fail. The string is an explanation of why the failure happened.
type flag = 
| Symlink (*
If the file queried is a symlink, follow it.
*)
| Compress (*
If the file is compressed, unpack it and look at the contents.
*)
| Devices (*
If the file is a block or character special device, then open the device and try to look in its contents.
*)
| Mime (*
Return a mime string, instead of a textual description.
*)
| Continue (*
Return all matches, not just the first.
*)
| Check (*
Check the magic database for consistency and print warnings to stderr.
*)
| Preserve_atime (*
On systems that support utime(2) or utimes(2), attempt to preserve the access time of files analyzed.
*)
| Raw (*
Don't translate unprintable characters to a \ooo octal representation.
*)
val make : ?flags:flag list -> string list -> t
make ?flags filenames creates a magic cookie, loading the databases in filenames. If filenames = [], the default database is used.
Raises
flags : specifies how the other magic functions should behave (default: []).
val create : ?flags:flag list -> string list -> t
Deprecated.Synonym for Magic.make.
val close : t -> unit
close cookie frees the resources associated with the cookie c. You need not to close cookies as the resources will be freed by the garbage collector anyway.
val file : t -> string -> string
file cookie filename returns a textual description of the contents of the filename argument.
Raises
val buffer : t -> ?len:int -> string -> string
file cookie ?len buf returns a textual description of the contents of the filename argument.
Raises
val setflags : t -> flag list -> unit
setflags cookie flags specifies how the other magic functions should behave.
Raises
val load : t -> string list -> unit
load cookie filenames loads the the list of database files filenames, or [] for the default database file.
Raises
val compile : t -> string list -> unit
compile cookie filenames compiles the the list of database files filenames, or [] for the default database. The compiled files created are named from the basename(1) of each file argument with ".mgc" appended to it.
Raises
val check : t -> string list -> bool
check cookie filenames checks the validity of entries in the database files filenames, or [] for the default database.
Raises Invalid_argument if the cookie has been closed.