Header | cups/mime.h |
---|---|
Library | -lcupsmime |
See Also | Programming: Introduction to CUPS Programming |
The MIME API provides file typing and conversion services for CUPS.
Add a filter to the current MIME database.
mime_filter_t *mimeAddFilter (
mime_t *mime,
mime_type_t *src,
mime_type_t *dst,
int cost,
const char *filter
);
New filter
Add a MIME type to a database.
mime_type_t *mimeAddType (
mime_t *mime,
const char *super,
const char *type
);
New (or existing) MIME type
Add a detection rule for a file type.
int mimeAddTypeRule (
mime_type_t *mt,
const char *rule
);
0 on success, -1 on failure
Delete (free) a MIME database.
void mimeDelete (
mime_t *mime
);
Delete a filter from the MIME database.
void mimeDeleteFilter (
mime_t *mime,
mime_filter_t *filter
);
Delete a type from the MIME database.
void mimeDeleteType (
mime_t *mime,
mime_type_t *mt
);
Determine the type of a file.
mime_type_t *mimeFileType (
mime_t *mime,
const char *pathname,
const char *filename,
int *compression
);
Type of file
Find the fastest way to convert from one type to another.
cups_array_t *mimeFilter (
mime_t *mime,
mime_type_t *src,
mime_type_t *dst,
int *cost
);
Array of filters to run
Find the fastest way to convert from one type to another, including file size.
cups_array_t *mimeFilter2 (
mime_t *mime,
mime_type_t *src,
size_t srcsize,
mime_type_t *dst,
int *cost
);
Array of filters to run
Lookup a filter.
mime_filter_t *mimeFilterLookup (
mime_t *mime,
mime_type_t *src,
mime_type_t *dst
);
Filter for src->dst
Get the first filter in the MIME database.
mime_filter_t *mimeFirstFilter (
mime_t *mime
);
Filter or NULL
Get the first type in the MIME database.
mime_type_t *mimeFirstType (
mime_t *mime
);
Type or NULL
Create a new MIME database from disk.
mime_t *mimeLoad (
const char *pathname,
const char *filterpath
);
New MIME database
This function uses mimeLoadFilters
and mimeLoadTypes
to
create a MIME database from a single directory.
Load filter definitions from disk.
mime_t *mimeLoadFilters (
mime_t *mime,
const char *pathname,
const char *filterpath
);
MIME database
This function loads all of the .convs files from the specified directory.
Use mimeLoadTypes
to load all types before you load the filters.
Load type definitions from disk.
mime_t *mimeLoadTypes (
mime_t *mime,
const char *pathname
);
NULL
to create a new oneMIME database
This function loads all of the .types files from the specified directory.
Use mimeLoadFilters
to load all filters after you load the types.
Create a new, empty MIME database.
mime_t *mimeNew (void);
MIME database
Get the next filter in the MIME database.
mime_filter_t *mimeNextFilter (
mime_t *mime
);
Filter or NULL
Get the next type in the MIME database.
mime_type_t *mimeNextType (
mime_t *mime
);
Type or NULL
Next type
int mimeNumFilters (
mime_t *mime
);
Get the number of filters in a MIME database.
MIME database
int mimeNumTypes (
mime_t *mime
);
Get the number of types in a MIME database.
Set the callback for error messages.
void mimeSetErrorCallback (
mime_t *mime,
mime_error_cb_t cb,
void *ctx
);
Lookup a file type.
mime_type_t *mimeType (
mime_t *mime,
const char *super,
const char *type
);
Matching file type definition
MIME Database
typedef void (*constmime_error_cb_t)(void *;
MIME Conversion Filter Data
typedef struct _mime_filter_s mime_filter_t;
MIME Magic Data
typedef struct _mime_magic_s mime_magic_t;
Types/structures...
typedef enum mime_op_t;
MIME Database
typedef struct _mime_s mime_t;
MIME Type Data
typedef struct _mime_type_s mime_type_t;