## MIME typing MIME typing — functions to get a mime-type for a file using its name or its content |

## Synopsis

    void        gnome_vfs_mime_shutdown         (void);
    const char* gnome_vfs_mime_type_from_name   (const char *filename);
    const char* gnome_vfs_mime_type_from_name_or_default
                                                (const char *filename,
                                                 const char *defaultv);
    const char* gnome_vfs_get_mime_type_common  (GnomeVFSURI *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_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_shutdown ()

    void        gnome_vfs_mime_shutdown         (void);

### Warning

`gnome_vfs_mime_shutdown` is deprecated and should not be used in newly-written code. This function doesn't have to be called as the operating system automatically cleans up resources when exiting.

Unload the MIME database from memory.

### gnome_vfs_mime_type_from_name ()

    const char* gnome_vfs_mime_type_from_name   (const char *filename);

### Warning

`gnome_vfs_mime_type_from_name` is deprecated and should not be used in newly-written code. This function is deprecated, use gnome_vfs_get_mime_type_for_name instead.

Determine the mime type for `filename`.

Returns:

`filename` : | a filename (the file does not necessarily exist).
Returns : | the mime-type for this filename. Will return `GNOME_VFS_MIME_TYPE_UNKNOWN` if mime-type could not be found.

### gnome_vfs_mime_type_from_name_or_default ()

    const char* gnome_vfs_mime_type_from_name_or_default
                                                (const char *filename,
                                                 const char *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 necessarily 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_common ()

    const char* gnome_vfs_get_mime_type_common  (GnomeVFSURI *uri);

Tries to guess the mime type of the file represented by `uri`. Favors using the file data to the `uri` extension. Handles `uri` of a non-existent file by falling back on returning a type based on the extension. If cant find the mime-type based on the extension also then returns 'application/octet-stream'.

FIXME: This function will not necessarily return the same mime type as doing a get file info on the text uri.

`uri` : | a real file or a non-existent uri.
Returns : | the mime-type for `uri`.

### 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 file at `uri`.

### gnome_vfs_get_mime_type_from_file_data ()

    const char* gnome_vfs_get_mime_type_from_file_data
                                                (GnomeVFSURI *uri);

### Warning

`gnome_vfs_get_mime_type_from_file_data` is deprecated and should not be used in newly-written code.

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.

Returns:

`uri` : | a file uri.
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 `path` of a non-existent file by falling back on returning a type based on the extension.

If you need a faster, less accurate version, use `gnome_vfs_get_file_mime_type_fast()`.

`path` : | path of a file whose mime type is to be found out.
`optional_stat_info` : | optional stat buffer.
`suffix_only` : | whether or not to do a magic-based lookup.
Returns : | the mime-type for file at `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 : |