xfmtype1x
Xfm file type tester
Usage
xfmtype -m
magic_file
[-f]
filename ...
Overview
The xfmtype program reads a magic configuration file and tests each file in its command line to tell its type according to the configuration file.
The format of the configuration file is the same as the magic(5) with the following additions and differences:
modetype field.-
Similar to
longtype, but offset is ignored. The test is performed against thest_modefield of the stat structure obtained using stat(2) system call. This allows testing for directories, fifos ... as well as for file permissions.
builtintype field.-
The test succeeds if the built-in type of the file is the same as the value field. The built-in type of the file is the type returned when all the tests fail. Currently these are the built-in types:
"unreadable" The file could not be read. "empty" File size is zero. "special" Not a regular file. "ascii" The file looks like ascii. "data" None of the above.
regexptype 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&nnnwherennnis a possitive number, then that number controls the amount of data scanned for the matching, otherwise a compile defined value (currently 256) is used.
longandshortbyte order.-
xfmtype always reads
longs andshorts 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 maximun length of a line is 1024 characters (counting also charaters in continuation lines).
Options
-
-f file -
Consider the following argument as a file, even if it begins with `-'.
-
-m file -
Specifies a configuration file. You can specify more than one configuration file with several
-mflags. They are read in the order in which they are found. Configuration files do not have effect until they are encountered in the command line. So, files to test in the command line before that switch will not be affected by it.
Releases
Unchanged in 2 releases since Debian 3.0 (Woody).