---
name: "mime"
section: "3"
platform: "macos"
package: "ksh"
version: "42"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/mime/3"
---

# mime(3)

mime/mailcap interface

## NAME

mime - mime/mailcap interface

## SYNOPSIS

```
#include <mime.h>
Mime_t
{
	unsigned long	flags;
};
Mime_t*   mimeopen(unsigned long flags);
void      mimeclose(Mime_t* mime);
int       mimeload(Mime_t* mime, const char* path, unsigned long flags);
int       mimelist(Mime_t* mime, Sfio_t* sp, const char* pattern);
char*     mimeview(Mime_t* mime, const char* view, const char* name, const char* type, const char* opts);
int       mimeset(Mime_t* mime, char* line, unsigned long flags);
```

## DESCRIPTION

*These routines provide an interface to the MIME type database.* $1$2mimeopenmimeopenmimeopenmimeopenmimeopenmimeopenmimeopenmimeopen returns a mime session handle that is passed to all of the other routines. The *flags* argument is currently unused.

$1$2mimeclosemimeclosemimeclosemimeclosemimeclosemimeclosemimeclosemimeclose closes the mime session.

$1$2mimeloadmimeloadmimeloadmimeloadmimeloadmimeloadmimeloadmimeload loads the mime file named by *path* into the mime session. *flags* may be one of:

- $1$2MIME\_LISTMIME\_LISTMIME\_LISTMIME\_LISTMIME\_LISTMIME\_LISTMIME\_LISTMIME\_LIST

  The *path* argument is a **:** separated list of pathnames, each of which is loaded. Non-existent files are ignored $1$2MIME\_LISTMIME\_LISTMIME\_LISTMIME\_LISTMIME\_LISTMIME\_LISTMIME\_LISTMIME\_LIST set.

- $1$2MIME\_REPLACEMIME\_REPLACEMIME\_REPLACEMIME\_REPLACEMIME\_REPLACEMIME\_REPLACEMIME\_REPLACEMIME\_REPLACE

  Replace existing entries by new entries with the same type. Otherwise original entries take precedence.

More than one mime file can be loaded into a session; the files are searched in load order. If *path* is  $1$200000000 then the default mime file is loaded.

$1$2mimelistmimelistmimelistmimelistmimelistmimelistmimelistmimelist lists the mime file contents on the [*sfio*(3)](/sfio/3.md) stream *sp*. This is used for debugging mime entries.

$1$2mimetypemimetypemimetypemimetypemimetypemimetypemimetypemimetype returns the type string for *path*. $1$2mimetypemimetypemimetypemimetypemimetypemimetypemimetypemimetype always returns a non-null string. If errors are encounterd on *path* then the return value will be $1$2errorerrorerrorerrorerrorerrorerrorerror

## SEE ALSO

[file(1)](/file/1.md), mime(4)
