Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Apropos / Subsearch:
optional field

File Formats                            gnome-vfs-mime-magic.4(4)

     gnome-vfs-mime-magic, gnome-vfs.mime, gnome-vfs.keys - GNOME
     VFS MIME detection

     On any modern desktop system, each  document  type  or  file
     type must be given a unique identification name and icon. In
     GNOME, this information is  used  extensively  by  the  file
     manager,  nautilus(1).  The primary underlying mechanism for
     providing such definitions is achieved  via  gnome-vfs-mime-
     magic.  gnome-vfs-mime-magic  contains the default file con-
     tent sniffers for identifying MIME  types.  The  concept  of
     MIME magic is similar to that of Solaris magic(4).

     Each  line  in  the   /etc/gnome/gnome-vfs-mime-magic   file
     describes  a  MIME  type. The format of each line is as fol-

     offset_start[:offset_end] pattern_type pattern  [&pattern_mask] mime-type

     Each line contains the following fields:

     offset_start            Decimal    number     that,     with
                             offset_end,   specifies   the  bytes
                             offset within the file.

     offset_end              Decimal    number     that,     with
                             offset_start,  specifies  the  bytes
                             offset within the file.

     pattern_type            Can be one of the following types:

                             byte | short | long | string |  date
                             |   beshort  |  belong  |  bedate  |
                             leshort | lelong | ledate

                             where be stands for Big  Endian  and
                             le stands for Little Endian.

     pattern                 An ASCII string  with  non-printable
                             characters  escaped  as hex or octal
                             escape  sequences,  and  spaces  and
                             other  important  whitespace escaped
                             with a backslash (\).

SunOS 5.10          Last change: 13 Jan 2003                    1

File Formats                            gnome-vfs-mime-magic.4(4)

     pattern_mask            A string of  hex  digits.  The  mask
                             must  be  the  same specification as
                             the non-ambigous patterns.

     mime-type               A valid MIME type.

     The magic patterns are matched sequentially from  the  first
     entry  to  the last entry of the list. Therefore, you should
     put the non-ambigous patterns at the start of the list.  Any
     pattern  that  requires  a deep seek into the file should be
     placed at the end of the list to  reduce  performance  over-
     head.   When  designing  new  document  formats,  include an
     easily recognizable unique magic pattern near the  start  of
     the  file. A good pattern is is at least four bytes long and
     contains one or two non-printable characters  so  that  text
     files are not misidentified.

     and gnome-vfs.keys"

     Apart from file sniffing, GNOME  also  provide  a  secondary
     mechanism  to  determine  MIME  types.  If  a  file has been
     sniffed and its type does not match any of  the  magic  pat-
     terns,  GNOME  looks for files called /usr/share/gnome/mime-
     info/*.mime and processes these. The format of  these  files
     is  different to that of pattern magic. Instead of determin-
     ing the MIME type by reading the content of  the  file,  the
     MIME  type  of the file is determined by its extension.  The
     mime info file has the following format:

         ext[,prio]: list of extensions for this mime-type
         regex[,prio]: regular expression that matches the filename

     More than one ext: and regex:  field can be  present  for  a
     given  MIME type. You can also associate a priority for each
     field. The default priority (prio) is 1, a higher  numerical
     value  indicates  a  higher priority. The indentation before
     ext: and regex: must be a tab character (\t).

     The searching sequence implies that the magic  pattern  file
     has  a  higher  precedence  over the mime info files. As the
     mime info files are read alphabetically,  this  also  deter-
     mines matching orders for the file extension.

     For example, the file FirstFile.mime contains the  following

SunOS 5.10          Last change: 13 Jan 2003                    2

File Formats                            gnome-vfs-mime-magic.4(4)

         ext: foo

     and the file SecondFile.mime contains the following  defini-

         ext: foo

     The definition in FirstFile.mime will  be  found  first  and

     For each MIME info file there must  be  an  associated  keys
     file  in  the  same  directory.  The key file provides human
     readable text which can be localized into various languages.
     The  data  in  these  keys  files  is used by the GNOME file
     manager, nautilus(1).

     Example 1: Magic pattern definition for PDF file

     The following entry in  the  /etc/gnome/gnome-vfs-mime-magic
     file describes the MIME type of application/pdf:

          0    string    %PDF-                    application/pdf

     The first 5 characters of a PDF file are %PDF-. The  symbols
     % and - differentiate the PDF file from a text file.

     Example 2: Magic pattern definition for BMP file

     The following entry in  the  /etc/gnome/gnome-vfs-mime-magic
     file describes the MIME type of application/bmp:

     0    string         BMxxxx 00 00 &0xffff00000000ffff   image/bmp

     The interpretation of this line is as follows:

       o  The first two characters are BM  and  the  seventh  and
          eighth characters are NULL.

       o  The mask 0xffff00000000ffff allows the selction of  the
          first,  second,  seventh,  and  eighth characters to be
          selected for comparison.

     Example 3: MIME  info  file  definition  for  application/x-

     The following entry in  the  /etc/gnome/gnome-vfs-mime-magic
     file describes the MIME type of application/x-compress:

SunOS 5.10          Last change: 13 Jan 2003                    3

File Formats                            gnome-vfs-mime-magic.4(4)

               ext: Z

     This line indicates that the x-compress application searches
     for files with a .Z extension.

     The    associated     keys     file     entry     in     the
     /usr/share/gnome/mime-info/gnome-vfs.mime file is as follows
     (excluding all localized text):

               description=compress-compressed file

     Example 4: MIME  info  file  definition  for  application/x-

     The following entry in  the  /etc/gnome/gnome-vfs-mime-magic
     file  describes  the  MIME type of application/x-compressed-

                    regex,2: tar.gz$
                    ext: tgz

     This example uses the priority flag to give regex  a  higher
     priority than ext, which means that a file with an extension
     of tar.gz should be matched first (to have a  MIME  type  of
     application/x-compressed-tar) before tgz.

     The following files are used by this application:






SunOS 5.10          Last change: 13 Jan 2003                    4

File Formats                            gnome-vfs-mime-magic.4(4)

     See attributes(5) for descriptions of the  following  attri-

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWgnome-vfs               |
    | Interface stability         | External                    |

     nautilus(1), gnome-vfs.applications(4), libgnomevfs-2(3)

     Latest version of the GNOME  Desktop  User  Guide  for  your

     Written by Ghee Teo, Sun Microsystems  Inc., 2003.

SunOS 5.10          Last change: 13 Jan 2003                    5