DESCRIPTIONxfm(1) and xfmtype(1) read files in this format to determine the mime type of a file, which again is used to determine what command to open it with.
The format of the configuration file is the same as the magic(5) with the following additions and differences:
- include: directive
If a line starts with include: the rest of the line is treated as filename
of another magic file to be read and processed before processing this file
Included files can be include files again. Thus a user specific file can
to get the system wide xfm defaults and this file again
to get the system wide system defaults.
- mode type field.
- Similar to long type, but offset is ignored. The test is performed against the st_mode field of the stat structure obtained using stat(2) system call. This allows testing for directories, fifos ... as well as for file permissions.
- lmode type field.
- Similar to mode type, but using lstat(2) instead of stat(2). This allows testing for symbolic links.
- regexp type field.
- The value field must be a proper regular expression. The bytes starting at offset are matched against it. If the match succeeds, then a regsub(3) is performed on message yielding the final message. If the type field is of the form regexp&nnn where nnn is a positive number, then that number controls the amount of data scanned for the matching, otherwise a compile defined value (currently 256) is used.
- long and short byte order.
- xfmtype always reads longs and shorts using MSB-first order. This makes configuration files portable to all architectures, but some entries in original magic(5) files might be wrong.
- Continuation lines.
- If a line ends with a backslash character (\), it is continued with the following line. The maximum length of a line is 1024 characters (counting also characters in continuation lines).
COPYRIGHTCopyright (c) 1995 CNM-US
Copyright (c) 1995 Juan D. Martin
AUTHORJuan D. Martin ([email protected])
(but modified heavily by Bernhard R. Link)