GnomeVFS - Filesystem Abstraction library
<<< Previous Page | Home | Up | Next Page >>>

# MIME Type Detection

## Name

MIME Type Detection -- detecting the mime type of a URI

## Synopsis

    #define     GNOME_VFS_MIME_TYPE_UNKNOWN
    void        gnome_vfs_mime_shutdown         (void);
    const char* gnome_vfs_mime_type_from_name   (const gchar *filename);
    const char* gnome_vfs_mime_type_from_name_or_default
                                                (const gchar *filename,
                                                 const gchar *defaultv);
    char*       gnome_vfs_get_mime_type         (const char *text_uri);
    const char* gnome_vfs_get_mime_type_from_uri
                                                (GnomeVFSURI *uri);
    const char* gnome_vfs_get_mime_type_from_file_data
                                                (GnomeVFSURI *uri);
    const char* gnome_vfs_get_mime_type_for_data
                                                (gconstpointer data,
                                                 int data_size);
    const char* gnome_vfs_get_file_mime_type    (const char *path,
                                                 const struct stat *optional_stat_info,
                                                 gboolean suffix_only);
    gboolean    gnome_vfs_mime_type_is_supertype
                                                (const char *mime_type);
    char*       gnome_vfs_get_supertype_from_mime_type
                                                (const char *mime_type);

## Description

## Details

### GNOME_VFS_MIME_TYPE_UNKNOWN

    #define GNOME_VFS_MIME_TYPE_UNKNOWN "application/octet-stream"

### gnome_vfs_mime_shutdown ()

    void        gnome_vfs_mime_shutdown         (void);

### gnome_vfs_mime_type_from_name ()

    const char* gnome_vfs_mime_type_from_name   (const gchar *filename);

Determined the mime type for `filename`.

`filename` : | A filename (the file does not necessarily exist).
Returns : | the mime-type for this filename.

### gnome_vfs_mime_type_from_name_or_default ()

    const char* gnome_vfs_mime_type_from_name_or_default
                                                (const gchar *filename,
                                                 const gchar *defaultv);

This routine tries to determine the mime-type of the filename only by looking at the filename from the GNOME database of mime-types.

`filename` : | A filename (the file does not necesarily exist).
`defaultv` : | A default value to be returned if no match is found
Returns : | the mime-type of the `filename`. If no value could be determined, it will return `defaultv`.

### gnome_vfs_get_mime_type ()

    char*       gnome_vfs_get_mime_type         (const char *text_uri);

Determine the mime type of `text_uri`. The mime type is determined in the same way as by gnome_vfs_get_file_info(). This is meant as a convenience function for times when you only want the mime type.

`text_uri` : | URI of the file for which to get the mime type
Returns : | The mime type, or NULL if there is an error reading the file.

### gnome_vfs_get_mime_type_from_uri ()

    const char* gnome_vfs_get_mime_type_from_uri
                                                (GnomeVFSURI *uri);

Tries to guess the mime type of the file `uri` by checking the file name extension. Works on non-existent files.

`uri` : | A file uri.
Returns : | the mime-type for this filename.

### gnome_vfs_get_mime_type_from_file_data ()

    const char* gnome_vfs_get_mime_type_from_file_data
                                                (GnomeVFSURI *uri);

Tries to guess the mime type of the file `uri` by checking the file data using the magic patterns. Does not handle text files properly

`uri` : | A file uri.
Returns : | the mime-type for this filename.

### gnome_vfs_get_mime_type_for_data ()

    const char* gnome_vfs_get_mime_type_for_data
                                                (gconstpointer data,
                                                 int data_size);

Tries to guess the mime type of the data in `data` using the magic patterns.

`data` : | A pointer to data in memory.
`data_size` : | Size of the data.
Returns : | the mime-type for this filename.

### gnome_vfs_get_file_mime_type ()

    const char* gnome_vfs_get_file_mime_type    (const char *path,
                                                 const struct stat *optional_stat_info,
                                                 gboolean suffix_only);

Tries to guess the mime type of the file represented by `path`. If `suffix_only` is false, uses the mime-magic based lookup first. Handles passing `path` of a non-existent file by falling back on returning a type based on the extension.

`path` : | a path of a file.
`optional_stat_info` : | optional stat buffer.
`suffix_only` : | whether or not to do a magic-based lookup.
Returns : | the mime-type for this path

### gnome_vfs_mime_type_is_supertype ()

    gboolean    gnome_vfs_mime_type_is_supertype
                                                (const char *mime_type);

`mime_type` : |
Returns : |

### gnome_vfs_get_supertype_from_mime_type ()

    char*       gnome_vfs_get_supertype_from_mime_type
                                                (const char *mime_type);

`mime_type` : |
Returns : |

<<< Previous Page | Home | Up | Next Page >>>
Magic MIME Detection | MIME Handlers