MAGICFFI is a CFFI interface to libmagic(3), the file type determination library using “magic” numbers.
Homepage is http://common-lisp.net/project/magicffi.
To check out the git repository, run:
$ git clone git://github.com/dochang/magicffi.git
To browse code online, go to:
You can also download the repo’s snapshot.
MAGICFFI depends on the following lisp libraries:
CL-PPCRE (used by the internal flags generator)
The following system packages are also required:
You have to install them on your system before loading magicffi.
> (asdf:oos 'asdf:load-op :magicffi) > (use-package :magicffi) > (with-open-magic (magic '(:mime-type :symlink)) (magic-load magic) (magic-file magic #P"magicffi.asd")) "text/plain"
All external symbols of the package MAGICFFI are listed in package.lisp. Check out their docstrings for help.
You can use either constants or keyword list as magic flags. I.e.,
(magic-open (logxor +magic-mime-type+ +magic-symlink+))
is equivalent to
(magic-open '(:mime-type :symlink))
The constant name and keyword name of a flag are based on its C name. See the following table for the pattern:
All constant names are exported.
Support and mailing lists
If you have questions, bug reports, feature requests and patches, send your email to the magicffi-devel mailing list. Please visit: