ELinks 0.18.0
mimetypes.c File Reference
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "elinks.h"
#include "config/options.h"
#include "intl/libintl.h"
#include "main/module.h"
#include "mime/backend/common.h"
#include "mime/backend/mimetypes.h"
#include "mime/mime.h"
#include "session/session.h"
#include "util/hash.h"
#include "util/lists.h"
#include "util/memory.h"
Include dependency graph for mimetypes.c:

Data Structures

struct  mimetypes_entry
 

Macros

#define BACKEND_NAME   "mimetypes"
 
#define get_opt_mimetypes(which)   mimetypes_options[(which)].option
 
#define get_mimetypes(which)   get_opt_mimetypes(which).value
 
#define get_mimetypes_enable()   get_mimetypes(MIMETYPES_ENABLE).number
 
#define get_mimetypes_path()   get_mimetypes(MIMETYPES_PATH).string
 

Enumerations

enum  mimetypes_option { MIMETYPES_TREE , MIMETYPES_ENABLE , MIMETYPES_PATH , MIMETYPES_OPTIONS }
 

Functions

static void done_mimetypes_entry (struct mimetypes_entry *entry)
 
static void parse_mimetypes_extensions (char *token, char *ctype)
 
static void parse_mimetypes_file (char *filename)
 
static struct hashinit_mimetypes_map (void)
 
static void done_mimetypes (struct module *module)
 
static int change_hook_mimetypes (struct session *ses, struct option *current, struct option *changed)
 
static void init_mimetypes (struct module *module)
 
static char * get_content_type_mimetypes (char *extension)
 

Variables

static union option_info mimetypes_options []
 
static struct hashmimetypes_map = NULL
 
const struct mime_backend mimetypes_mime_backend
 
struct module mimetypes_mime_module
 

Macro Definition Documentation

◆ BACKEND_NAME

#define BACKEND_NAME   "mimetypes"

◆ get_mimetypes

#define get_mimetypes ( which)    get_opt_mimetypes(which).value

◆ get_mimetypes_enable

#define get_mimetypes_enable ( )    get_mimetypes(MIMETYPES_ENABLE).number

◆ get_mimetypes_path

#define get_mimetypes_path ( )    get_mimetypes(MIMETYPES_PATH).string

◆ get_opt_mimetypes

#define get_opt_mimetypes ( which)    mimetypes_options[(which)].option

Enumeration Type Documentation

◆ mimetypes_option

Enumerator
MIMETYPES_TREE 
MIMETYPES_ENABLE 
MIMETYPES_PATH 
MIMETYPES_OPTIONS 

Function Documentation

◆ change_hook_mimetypes()

static int change_hook_mimetypes ( struct session * ses,
struct option * current,
struct option * changed )
static

◆ done_mimetypes()

static void done_mimetypes ( struct module * module)
static

◆ done_mimetypes_entry()

static void done_mimetypes_entry ( struct mimetypes_entry * entry)
static

◆ get_content_type_mimetypes()

static char * get_content_type_mimetypes ( char * extension)
static

◆ init_mimetypes()

static void init_mimetypes ( struct module * module)
static

◆ init_mimetypes_map()

static struct hash * init_mimetypes_map ( void )
static

◆ parse_mimetypes_extensions()

static void parse_mimetypes_extensions ( char * token,
char * ctype )
inlinestatic

◆ parse_mimetypes_file()

static void parse_mimetypes_file ( char * filename)
static

Variable Documentation

◆ mimetypes_map

struct hash* mimetypes_map = NULL
static

◆ mimetypes_mime_backend

const struct mime_backend mimetypes_mime_backend
Initial value:
= {
}
#define NULL
Definition explodename.c:35
static char * get_content_type_mimetypes(char *extension)
Definition mimetypes.c:238

◆ mimetypes_mime_module

struct module mimetypes_mime_module
Initial value:
N_("Mimetypes files"),
)
#define N_(msg)
Definition libintl.h:25
static void init_mimetypes(struct module *module)
Definition mimetypes.c:223
static void done_mimetypes(struct module *module)
Definition mimetypes.c:191
static union option_info mimetypes_options[]
Definition mimetypes.c:45
#define struct_module(name, options, hooks, submods, data, init, done, getname)
Definition module.h:47

◆ mimetypes_options

union option_info mimetypes_options[]
static
Initial value:
= {
INIT_OPT_TREE("mime", N_("Mimetypes files"),
"mimetypes", OPT_ZERO,
N_("Options for the support of mime.types files. These files "
"can be used to find the content type of a URL by looking at "
"the extension of the file name.")),
INIT_OPT_BOOL("mime.mimetypes", N_("Enable"),
"enable", OPT_ZERO, 1,
N_("Enable mime.types support.")),
INIT_OPT_STRING("mime.mimetypes", N_("Path"),
N_("The search path for mime.types files. "
"Colon-separated list of files.")),
NULL_OPTION_INFO,
}
@ OPT_ZERO
Definition options.h:23
#define DEFAULT_MIMETYPES_PATH
Definition setup.h:97