XFMTYPE(1)

XFMTYPE(1)

xfm Home Page User Commands Index xfontsel


NAME
       xfmtype - xfm file type tester

SYNOPSIS
       xfmtype -m magic_file [-f] filename ...

DESCRIPTION
       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:

       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.

       builtin type 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.

       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  possi-
           tive  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 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 -m flags.
           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.

BUGS
       Bad configuration lines cause undefined behavior. In  gen-
       eral  they  are  silently ignored, but that is not guaran-
       teed.
       There are no warning or error message except for the regu-
       lar expression syntax.
       There should be a syntax checking mode.
       All of the above apply to xfm too.

SEE ALSO
       xfm(1x) file(1) magic(5) stat(2) lstat(2) 

COPYRIGHT
       Copyright (c) 1995 CNM-US
       Copyright (c) 1995 Juan D. Martin

AUTHOR
       Juan D. Martin juando@cnm.us.es

xfm Home Page User Commands Index xfontsel