Data Structures | Defines | Enumerations | Functions | Variables

MIME.h File Reference

A brief file description. More...

#include <sys/time.h>
#include "ink_assert.h"
#include "ink_apidefs.h"
#include "ink_string++.h"
#include "HdrHeap.h"
#include "HdrToken.h"
Include dependency graph for MIME.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  MIMEField
struct  MIMEFieldBlockImpl
struct  MIMECookedCacheControl
struct  MIMECookedPragma
struct  MIMECooked
struct  MIMEHdrImpl
struct  MIMEScanner
struct  MIMEParser
struct  MIMEFieldSDKHandle
struct  MIMEFieldIter
class  MIMEHdr

Defines

#define MIME_SCANNER_TYPE_LINE   0
#define MIME_SCANNER_TYPE_FIELD   1
#define MIME_HDR_SANITY_CHECK   (void)
#define MIME_FIELD_SLOT_READINESS_EMPTY   0
#define MIME_FIELD_SLOT_READINESS_DETACHED   1
#define MIME_FIELD_SLOT_READINESS_LIVE   2
#define MIME_FIELD_SLOT_READINESS_DELETED   3
#define MIME_FIELD_SLOT_FLAGS_DUP_HEAD   (1 << 0)
#define MIME_FIELD_SLOT_FLAGS_COOKED   (1 << 1)
#define MIME_FIELD_BLOCK_SLOTS   16
#define MIME_FIELD_SLOTNUM_BITS   4
#define MIME_FIELD_SLOTNUM_MASK   ((1 << MIME_FIELD_SLOTNUM_BITS) - 1)
#define MIME_FIELD_SLOTNUM_MAX   (MIME_FIELD_SLOTNUM_MASK - 1)
#define MIME_FIELD_SLOTNUM_UNKNOWN   MIME_FIELD_SLOTNUM_MAX

Enumerations

enum  MIMEParseResult { PARSE_ERROR = -1, PARSE_DONE = 0, PARSE_OK = 1, PARSE_CONT = 2 }
enum  { UNDEFINED_COUNT = -1 }
enum  MimeParseState { MIME_PARSE_BEFORE, MIME_PARSE_FOUND_CR, MIME_PARSE_INSIDE, MIME_PARSE_AFTER }
 

Parsing state.

More...
enum  MIMECookedMask {
  MIME_COOKED_MASK_CC_MAX_AGE = (1 << 0), MIME_COOKED_MASK_CC_NO_CACHE = (1 << 1), MIME_COOKED_MASK_CC_NO_STORE = (1 << 2), MIME_COOKED_MASK_CC_NO_TRANSFORM = (1 << 3),
  MIME_COOKED_MASK_CC_MAX_STALE = (1 << 4), MIME_COOKED_MASK_CC_MIN_FRESH = (1 << 5), MIME_COOKED_MASK_CC_ONLY_IF_CACHED = (1 << 6), MIME_COOKED_MASK_CC_PUBLIC = (1 << 7),
  MIME_COOKED_MASK_CC_PRIVATE = (1 << 8), MIME_COOKED_MASK_CC_MUST_REVALIDATE = (1 << 9), MIME_COOKED_MASK_CC_PROXY_REVALIDATE = (1 << 10), MIME_COOKED_MASK_CC_S_MAXAGE = (1 << 11),
  MIME_COOKED_MASK_CC_NEED_REVALIDATE_ONCE = (1 << 12), MIME_COOKED_MASK_CC_EXTENSION = (1 << 13)
}

Functions

uint64_t mime_field_presence_mask (const char *well_known_str)
uint64_t mime_field_presence_mask (int well_known_str_index)
int mime_field_presence_get (MIMEHdrImpl *h, const char *well_known_str)
int mime_field_presence_get (MIMEHdrImpl *h, int well_known_str_index)
void mime_hdr_presence_set (MIMEHdrImpl *h, const char *well_known_str)
void mime_hdr_presence_set (MIMEHdrImpl *h, int well_known_str_index)
void mime_hdr_presence_unset (MIMEHdrImpl *h, const char *well_known_str)
void mime_hdr_presence_unset (MIMEHdrImpl *h, int well_known_str_index)
void mime_hdr_sanity_check (MIMEHdrImpl *mh)
void mime_init ()
void mime_init_cache_control_cooking_masks ()
void mime_init_date_format_table ()
MIMEHdrImplmime_hdr_create (HdrHeap *heap)
void _mime_hdr_field_block_init (MIMEFieldBlockImpl *fblock)
void mime_hdr_cooked_stuff_init (MIMEHdrImpl *mh, MIMEField *changing_field_or_null=NULL)
void mime_hdr_init (MIMEHdrImpl *mh)
MIMEFieldBlockImpl_mime_field_block_copy (MIMEFieldBlockImpl *s_fblock, HdrHeap *s_heap, HdrHeap *d_heap)
void _mime_field_block_destroy (HdrHeap *heap, MIMEFieldBlockImpl *fblock)
void mime_hdr_destroy_field_block_list (HdrHeap *heap, MIMEFieldBlockImpl *head)
void mime_hdr_destroy (HdrHeap *heap, MIMEHdrImpl *mh)
void mime_hdr_copy_onto (MIMEHdrImpl *s_mh, HdrHeap *s_heap, MIMEHdrImpl *d_mh, HdrHeap *d_heap, bool inherit_strs=true)
MIMEHdrImplmime_hdr_clone (MIMEHdrImpl *s_mh, HdrHeap *s_heap, HdrHeap *d_heap, bool inherit_strs=true)
void mime_hdr_field_block_list_adjust (int block_count, MIMEFieldBlockImpl *old_list, MIMEFieldBlockImpl *new_list)
int mime_hdr_length_get (MIMEHdrImpl *mh)
void mime_hdr_fields_clear (HdrHeap *heap, MIMEHdrImpl *mh)
MIMEField_mime_hdr_field_list_search_by_wks (MIMEHdrImpl *mh, int wks_idx)
MIMEField_mime_hdr_field_list_search_by_string (MIMEHdrImpl *mh, const char *field_name_str, int field_name_len)
MIMEField_mime_hdr_field_list_search_by_slotnum (MIMEHdrImpl *mh, int slotnum)
inkcoreapi MIMEFieldmime_hdr_field_find (MIMEHdrImpl *mh, const char *field_name_str, int field_name_len)
MIMEFieldmime_hdr_field_get (MIMEHdrImpl *mh, int idx)
MIMEFieldmime_hdr_field_get_slotnum (MIMEHdrImpl *mh, int slotnum)
int mime_hdr_fields_count (MIMEHdrImpl *mh)
void mime_field_init (MIMEField *field)
MIMEFieldmime_field_create (HdrHeap *heap, MIMEHdrImpl *mh)
MIMEFieldmime_field_create_named (HdrHeap *heap, MIMEHdrImpl *mh, const char *name, int length)
void mime_hdr_field_attach (MIMEHdrImpl *mh, MIMEField *field, int check_for_dups, MIMEField *prev_dup)
void mime_hdr_field_detach (MIMEHdrImpl *mh, MIMEField *field, bool detach_all_dups=false)
void mime_hdr_field_delete (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, bool delete_all_dups=false)
int mime_hdr_field_slotnum (MIMEHdrImpl *mh, MIMEField *field)
inkcoreapi MIMEFieldmime_hdr_prepare_for_value_set (HdrHeap *heap, MIMEHdrImpl *mh, const char *name, int name_length)
void mime_field_destroy (MIMEHdrImpl *mh, MIMEField *field)
const char * mime_field_name_get (MIMEField *field, int *length)
void mime_field_name_set (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, int16_t name_wks_idx_or_neg1, const char *name, int length, bool must_copy_string)
inkcoreapi const char * mime_field_value_get (MIMEField *field, int *length)
int32_t mime_field_value_get_int (MIMEField *field)
uint32_t mime_field_value_get_uint (MIMEField *field)
int64_t mime_field_value_get_int64 (MIMEField *field)
time_t mime_field_value_get_date (MIMEField *field)
const char * mime_field_value_get_comma_val (MIMEField *field, int *length, int idx)
int mime_field_value_get_comma_val_count (MIMEField *field)
int mime_field_value_get_comma_list (MIMEField *field, StrList *list)
void mime_field_value_set_comma_val (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, int idx, const char *new_piece_str, int new_piece_len)
void mime_field_value_delete_comma_val (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, int idx)
void mime_field_value_extend_comma_val (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, int idx, const char *new_piece_str, int new_piece_len)
void mime_field_value_insert_comma_val (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, int idx, const char *new_piece_str, int new_piece_len)
inkcoreapi void mime_field_value_set (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, const char *value, int length, bool must_copy_string)
void mime_field_value_set_int (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, int32_t value)
void mime_field_value_set_uint (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, uint32_t value)
void mime_field_value_set_int64 (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, int64_t value)
void mime_field_value_set_date (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, time_t value)
void mime_field_name_value_set (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, int16_t name_wks_idx_or_neg1, const char *name, int name_length, const char *value, int value_length, int n_v_raw_printable, int n_v_raw_length, bool must_copy_strings)
void mime_field_value_append (HdrHeap *heap, MIMEHdrImpl *mh, MIMEField *field, const char *value, int length, bool prepend_comma, const char separator)
void mime_scanner_init (MIMEScanner *scanner)
void mime_scanner_clear (MIMEScanner *scanner)
void mime_scanner_append (MIMEScanner *scanner, const char *data, int data_size)
MIMEParseResult mime_scanner_get (MIMEScanner *S, const char **raw_input_s, const char *raw_input_e, const char **output_s, const char **output_e, bool *output_shares_raw_input, bool raw_input_eof, int raw_input_scan_type)
void mime_parser_init (MIMEParser *parser)
void mime_parser_clear (MIMEParser *parser)
MIMEParseResult mime_parser_parse (MIMEParser *parser, HdrHeap *heap, MIMEHdrImpl *mh, const char **real_s, const char *real_e, bool must_copy_strings, bool eof)
void mime_hdr_describe (HdrHeapObjImpl *raw, bool recurse)
void mime_field_block_describe (HdrHeapObjImpl *raw, bool recurse)
int mime_hdr_print (HdrHeap *heap, MIMEHdrImpl *mh, char *buf_start, int buf_length, int *buf_index_inout, int *buf_chars_to_skip_inout)
int mime_mem_print (const char *src_d, int src_l, char *buf_start, int buf_length, int *buf_index_inout, int *buf_chars_to_skip_inout)
int mime_field_print (MIMEField *field, char *buf_start, int buf_length, int *buf_index_inout, int *buf_chars_to_skip_inout)
const char * mime_str_u16_set (HdrHeap *heap, const char *s_str, int s_len, const char **d_str, uint16_t *d_len, bool must_copy)
int mime_field_length_get (MIMEField *field)
int mime_format_int (char *buf, int32_t val, size_t buf_len)
int mime_format_uint (char *buf, uint32_t val, size_t buf_len)
int mime_format_int64 (char *buf, int64_t val, size_t buf_len)
void mime_days_since_epoch_to_mdy_slowcase (unsigned int days_since_jan_1_1970, int *m_return, int *d_return, int *y_return)
void mime_days_since_epoch_to_mdy (unsigned int days_since_jan_1_1970, int *m_return, int *d_return, int *y_return)
int mime_format_date (char *buffer, time_t value)
int32_t mime_parse_int (const char *buf, const char *end=NULL)
uint32_t mime_parse_uint (const char *buf, const char *end=NULL)
int64_t mime_parse_int64 (const char *buf, const char *end=NULL)
int mime_parse_rfc822_date_fastcase (const char *buf, int length, struct tm *tp)
time_t mime_parse_date (const char *buf, const char *end=NULL)
int mime_parse_day (const char *&buf, const char *end, int *day)
int mime_parse_month (const char *&buf, const char *end, int *month)
int mime_parse_mday (const char *&buf, const char *end, int *mday)
int mime_parse_year (const char *&buf, const char *end, int *year)
int mime_parse_time (const char *&buf, const char *end, int *hour, int *min, int *sec)
int mime_parse_integer (const char *&buf, const char *end, int *integer)

Variables

const char * MIME_FIELD_ACCEPT
const char * MIME_FIELD_ACCEPT_CHARSET
const char * MIME_FIELD_ACCEPT_ENCODING
const char * MIME_FIELD_ACCEPT_LANGUAGE
const char * MIME_FIELD_ACCEPT_RANGES
const char * MIME_FIELD_AGE
const char * MIME_FIELD_ALLOW
const char * MIME_FIELD_APPROVED
const char * MIME_FIELD_AUTHORIZATION
const char * MIME_FIELD_BYTES
const char * MIME_FIELD_CACHE_CONTROL
const char * MIME_FIELD_CLIENT_IP
const char * MIME_FIELD_CONNECTION
const char * MIME_FIELD_CONTENT_BASE
const char * MIME_FIELD_CONTENT_ENCODING
const char * MIME_FIELD_CONTENT_LANGUAGE
const char * MIME_FIELD_CONTENT_LENGTH
const char * MIME_FIELD_CONTENT_LOCATION
const char * MIME_FIELD_CONTENT_MD5
const char * MIME_FIELD_CONTENT_RANGE
const char * MIME_FIELD_CONTENT_TYPE
const char * MIME_FIELD_CONTROL
const char * MIME_FIELD_COOKIE
const char * MIME_FIELD_DATE
const char * MIME_FIELD_DISTRIBUTION
const char * MIME_FIELD_ETAG
const char * MIME_FIELD_EXPECT
const char * MIME_FIELD_EXPIRES
const char * MIME_FIELD_FOLLOWUP_TO
const char * MIME_FIELD_FROM
const char * MIME_FIELD_HOST
const char * MIME_FIELD_IF_MATCH
const char * MIME_FIELD_IF_MODIFIED_SINCE
const char * MIME_FIELD_IF_NONE_MATCH
const char * MIME_FIELD_IF_RANGE
const char * MIME_FIELD_IF_UNMODIFIED_SINCE
const char * MIME_FIELD_KEEP_ALIVE
const char * MIME_FIELD_KEYWORDS
const char * MIME_FIELD_LAST_MODIFIED
const char * MIME_FIELD_LINES
inkcoreapi const char * MIME_FIELD_LOCATION
const char * MIME_FIELD_MAX_FORWARDS
const char * MIME_FIELD_MESSAGE_ID
const char * MIME_FIELD_NEWSGROUPS
const char * MIME_FIELD_ORGANIZATION
const char * MIME_FIELD_PATH
const char * MIME_FIELD_PRAGMA
const char * MIME_FIELD_PROXY_AUTHENTICATE
const char * MIME_FIELD_PROXY_AUTHORIZATION
const char * MIME_FIELD_PROXY_CONNECTION
const char * MIME_FIELD_PUBLIC
const char * MIME_FIELD_RANGE
const char * MIME_FIELD_REFERENCES
const char * MIME_FIELD_REFERER
const char * MIME_FIELD_REPLY_TO
const char * MIME_FIELD_RETRY_AFTER
const char * MIME_FIELD_SENDER
const char * MIME_FIELD_SERVER
const char * MIME_FIELD_SET_COOKIE
const char * MIME_FIELD_STRICT_TRANSPORT_SECURITY
const char * MIME_FIELD_SUBJECT
const char * MIME_FIELD_SUMMARY
const char * MIME_FIELD_TE
const char * MIME_FIELD_TRANSFER_ENCODING
const char * MIME_FIELD_UPGRADE
const char * MIME_FIELD_USER_AGENT
const char * MIME_FIELD_VARY
const char * MIME_FIELD_VIA
const char * MIME_FIELD_WARNING
const char * MIME_FIELD_WWW_AUTHENTICATE
const char * MIME_FIELD_XREF
const char * MIME_FIELD_INT_DATA_INFO
const char * MIME_FIELD_X_ID
const char * MIME_FIELD_X_FORWARDED_FOR
const char * MIME_FIELD_SEC_WEBSOCKET_KEY
const char * MIME_FIELD_SEC_WEBSOCKET_VERSION
const char * MIME_VALUE_BYTES
const char * MIME_VALUE_CHUNKED
const char * MIME_VALUE_CLOSE
const char * MIME_VALUE_COMPRESS
const char * MIME_VALUE_DEFLATE
const char * MIME_VALUE_GZIP
const char * MIME_VALUE_IDENTITY
const char * MIME_VALUE_KEEP_ALIVE
const char * MIME_VALUE_MAX_AGE
const char * MIME_VALUE_MAX_STALE
const char * MIME_VALUE_MIN_FRESH
const char * MIME_VALUE_MUST_REVALIDATE
const char * MIME_VALUE_NONE
const char * MIME_VALUE_NO_CACHE
const char * MIME_VALUE_NO_STORE
const char * MIME_VALUE_NO_TRANSFORM
const char * MIME_VALUE_ONLY_IF_CACHED
const char * MIME_VALUE_PRIVATE
const char * MIME_VALUE_PROXY_REVALIDATE
const char * MIME_VALUE_PUBLIC
const char * MIME_VALUE_S_MAXAGE
const char * MIME_VALUE_NEED_REVALIDATE_ONCE
const char * MIME_VALUE_WEBSOCKET
int MIME_LEN_ACCEPT
int MIME_LEN_ACCEPT_CHARSET
int MIME_LEN_ACCEPT_ENCODING
int MIME_LEN_ACCEPT_LANGUAGE
int MIME_LEN_ACCEPT_RANGES
int MIME_LEN_AGE
int MIME_LEN_ALLOW
int MIME_LEN_APPROVED
int MIME_LEN_AUTHORIZATION
int MIME_LEN_BYTES
int MIME_LEN_CACHE_CONTROL
int MIME_LEN_CLIENT_IP
int MIME_LEN_CONNECTION
int MIME_LEN_CONTENT_BASE
int MIME_LEN_CONTENT_ENCODING
int MIME_LEN_CONTENT_LANGUAGE
int MIME_LEN_CONTENT_LENGTH
int MIME_LEN_CONTENT_LOCATION
int MIME_LEN_CONTENT_MD5
int MIME_LEN_CONTENT_RANGE
int MIME_LEN_CONTENT_TYPE
int MIME_LEN_CONTROL
int MIME_LEN_COOKIE
int MIME_LEN_DATE
int MIME_LEN_DISTRIBUTION
int MIME_LEN_ETAG
int MIME_LEN_EXPECT
int MIME_LEN_EXPIRES
int MIME_LEN_FOLLOWUP_TO
int MIME_LEN_FROM
int MIME_LEN_HOST
int MIME_LEN_IF_MATCH
int MIME_LEN_IF_MODIFIED_SINCE
int MIME_LEN_IF_NONE_MATCH
int MIME_LEN_IF_RANGE
int MIME_LEN_IF_UNMODIFIED_SINCE
int MIME_LEN_KEEP_ALIVE
int MIME_LEN_KEYWORDS
int MIME_LEN_LAST_MODIFIED
int MIME_LEN_LINES
inkcoreapi int MIME_LEN_LOCATION
int MIME_LEN_MAX_FORWARDS
int MIME_LEN_MESSAGE_ID
int MIME_LEN_NEWSGROUPS
int MIME_LEN_ORGANIZATION
int MIME_LEN_PATH
int MIME_LEN_PRAGMA
int MIME_LEN_PROXY_AUTHENTICATE
int MIME_LEN_PROXY_AUTHORIZATION
int MIME_LEN_PROXY_CONNECTION
int MIME_LEN_PUBLIC
int MIME_LEN_RANGE
int MIME_LEN_REFERENCES
int MIME_LEN_REFERER
int MIME_LEN_REPLY_TO
int MIME_LEN_RETRY_AFTER
int MIME_LEN_SENDER
int MIME_LEN_SERVER
int MIME_LEN_SET_COOKIE
int MIME_LEN_STRICT_TRANSPORT_SECURITY
int MIME_LEN_SUBJECT
int MIME_LEN_SUMMARY
int MIME_LEN_TE
int MIME_LEN_TRANSFER_ENCODING
int MIME_LEN_UPGRADE
int MIME_LEN_USER_AGENT
int MIME_LEN_VARY
int MIME_LEN_VIA
int MIME_LEN_WARNING
int MIME_LEN_WWW_AUTHENTICATE
int MIME_LEN_XREF
int MIME_LEN_INT_DATA_INFO
int MIME_LEN_X_ID
int MIME_LEN_X_FORWARDED_FOR
int MIME_LEN_CHUNKED
int MIME_LEN_CLOSE
int MIME_LEN_COMPRESS
int MIME_LEN_DEFLATE
int MIME_LEN_GZIP
int MIME_LEN_IDENTITY
int MIME_LEN_MAX_AGE
int MIME_LEN_MAX_STALE
int MIME_LEN_MIN_FRESH
int MIME_LEN_MUST_REVALIDATE
int MIME_LEN_NONE
int MIME_LEN_NO_CACHE
int MIME_LEN_NO_STORE
int MIME_LEN_NO_TRANSFORM
int MIME_LEN_ONLY_IF_CACHED
int MIME_LEN_PRIVATE
int MIME_LEN_PROXY_REVALIDATE
int MIME_LEN_S_MAXAGE
int MIME_LEN_NEED_REVALIDATE_ONCE
int MIME_LEN_SEC_WEBSOCKET_KEY
int MIME_LEN_SEC_WEBSOCKET_VERSION
int MIME_WKSIDX_ACCEPT
int MIME_WKSIDX_ACCEPT_CHARSET
int MIME_WKSIDX_ACCEPT_ENCODING
int MIME_WKSIDX_ACCEPT_LANGUAGE
int MIME_WKSIDX_ACCEPT_RANGES
int MIME_WKSIDX_AGE
int MIME_WKSIDX_ALLOW
int MIME_WKSIDX_APPROVED
int MIME_WKSIDX_AUTHORIZATION
int MIME_WKSIDX_BYTES
int MIME_WKSIDX_CACHE_CONTROL
int MIME_WKSIDX_CLIENT_IP
int MIME_WKSIDX_CONNECTION
int MIME_WKSIDX_CONTENT_BASE
int MIME_WKSIDX_CONTENT_ENCODING
int MIME_WKSIDX_CONTENT_LANGUAGE
int MIME_WKSIDX_CONTENT_LENGTH
int MIME_WKSIDX_CONTENT_LOCATION
int MIME_WKSIDX_CONTENT_MD5
int MIME_WKSIDX_CONTENT_RANGE
int MIME_WKSIDX_CONTENT_TYPE
int MIME_WKSIDX_CONTROL
int MIME_WKSIDX_COOKIE
int MIME_WKSIDX_DATE
int MIME_WKSIDX_DISTRIBUTION
int MIME_WKSIDX_ETAG
int MIME_WKSIDX_EXPECT
int MIME_WKSIDX_EXPIRES
int MIME_WKSIDX_FOLLOWUP_TO
int MIME_WKSIDX_FROM
int MIME_WKSIDX_HOST
int MIME_WKSIDX_IF_MATCH
int MIME_WKSIDX_IF_MODIFIED_SINCE
int MIME_WKSIDX_IF_NONE_MATCH
int MIME_WKSIDX_IF_RANGE
int MIME_WKSIDX_IF_UNMODIFIED_SINCE
int MIME_WKSIDX_KEEP_ALIVE
int MIME_WKSIDX_KEYWORDS
int MIME_WKSIDX_LAST_MODIFIED
int MIME_WKSIDX_LINES
int MIME_WKSIDX_LOCATION
int MIME_WKSIDX_MAX_FORWARDS
int MIME_WKSIDX_MESSAGE_ID
int MIME_WKSIDX_NEWSGROUPS
int MIME_WKSIDX_ORGANIZATION
int MIME_WKSIDX_PATH
int MIME_WKSIDX_PRAGMA
int MIME_WKSIDX_PROXY_AUTHENTICATE
int MIME_WKSIDX_PROXY_AUTHORIZATION
int MIME_WKSIDX_PROXY_CONNECTION
int MIME_WKSIDX_PUBLIC
int MIME_WKSIDX_RANGE
int MIME_WKSIDX_REFERENCES
int MIME_WKSIDX_REFERER
int MIME_WKSIDX_REPLY_TO
int MIME_WKSIDX_RETRY_AFTER
int MIME_WKSIDX_SENDER
int MIME_WKSIDX_SERVER
int MIME_WKSIDX_SET_COOKIE
int MIME_WKSIDX_STRICT_TRANSPORT_SECURITY
int MIME_WKSIDX_SUBJECT
int MIME_WKSIDX_SUMMARY
int MIME_WKSIDX_TE
int MIME_WKSIDX_TRANSFER_ENCODING
int MIME_WKSIDX_UPGRADE
int MIME_WKSIDX_USER_AGENT
int MIME_WKSIDX_VARY
int MIME_WKSIDX_VIA
int MIME_WKSIDX_WARNING
int MIME_WKSIDX_WWW_AUTHENTICATE
int MIME_WKSIDX_XREF
int MIME_WKSIDX_INT_DATA_INFO
int MIME_WKSIDX_X_ID
int MIME_WKSIDX_SEC_WEBSOCKET_KEY
int MIME_WKSIDX_SEC_WEBSOCKET_VERSION

Detailed Description

A brief file description.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file MIME.h.


Define Documentation

#define MIME_FIELD_BLOCK_SLOTS   16
#define MIME_FIELD_SLOT_FLAGS_COOKED   (1 << 1)

Definition at line 83 of file MIME.h.

Referenced by MIMEField::is_cooked().

#define MIME_FIELD_SLOT_FLAGS_DUP_HEAD   (1 << 0)

Definition at line 82 of file MIME.h.

Referenced by MIMEField::is_dup_head(), and mime_hdr_field_detach().

#define MIME_FIELD_SLOT_READINESS_DELETED   3

Definition at line 80 of file MIME.h.

Referenced by mime_field_block_describe().

#define MIME_FIELD_SLOT_READINESS_DETACHED   1
#define MIME_FIELD_SLOT_READINESS_EMPTY   0

Definition at line 77 of file MIME.h.

Referenced by mime_field_block_describe().

#define MIME_FIELD_SLOT_READINESS_LIVE   2
#define MIME_FIELD_SLOTNUM_BITS   4

Definition at line 87 of file MIME.h.

#define MIME_FIELD_SLOTNUM_MASK   ((1 << MIME_FIELD_SLOTNUM_BITS) - 1)

Definition at line 88 of file MIME.h.

Referenced by mime_hdr_set_accelerator_slotnum().

#define MIME_FIELD_SLOTNUM_MAX   (MIME_FIELD_SLOTNUM_MASK - 1)

Definition at line 89 of file MIME.h.

Referenced by mime_hdr_unset_accelerators_and_presence_bits().

#define MIME_FIELD_SLOTNUM_UNKNOWN   MIME_FIELD_SLOTNUM_MAX

Definition at line 90 of file MIME.h.

Referenced by mime_hdr_field_find(), and mime_hdr_set_accelerators_and_presence_bits().

#define MIME_HDR_SANITY_CHECK   (void)
#define MIME_SCANNER_TYPE_FIELD   1

Definition at line 63 of file MIME.h.

Referenced by mime_parser_parse().

#define MIME_SCANNER_TYPE_LINE   0

Definition at line 62 of file MIME.h.

Referenced by http_parser_parse_req(), http_parser_parse_resp(), and mime_scanner_get().


Enumeration Type Documentation

anonymous enum
Enumerator:
UNDEFINED_COUNT 

Definition at line 49 of file MIME.h.

Enumerator:
MIME_COOKED_MASK_CC_MAX_AGE 
MIME_COOKED_MASK_CC_NO_CACHE 
MIME_COOKED_MASK_CC_NO_STORE 
MIME_COOKED_MASK_CC_NO_TRANSFORM 
MIME_COOKED_MASK_CC_MAX_STALE 
MIME_COOKED_MASK_CC_MIN_FRESH 
MIME_COOKED_MASK_CC_ONLY_IF_CACHED 
MIME_COOKED_MASK_CC_PUBLIC 
MIME_COOKED_MASK_CC_PRIVATE 
MIME_COOKED_MASK_CC_MUST_REVALIDATE 
MIME_COOKED_MASK_CC_PROXY_REVALIDATE 
MIME_COOKED_MASK_CC_S_MAXAGE 
MIME_COOKED_MASK_CC_NEED_REVALIDATE_ONCE 
MIME_COOKED_MASK_CC_EXTENSION 

Definition at line 185 of file MIME.h.

Enumerator:
PARSE_ERROR 
PARSE_DONE 
PARSE_OK 
PARSE_CONT 

Definition at line 41 of file MIME.h.

Parsing state.

Enumerator:
MIME_PARSE_BEFORE 

Before a field.

MIME_PARSE_FOUND_CR 

Before a field, found a CR.

MIME_PARSE_INSIDE 

Inside a field.

MIME_PARSE_AFTER 

After a field.

Definition at line 55 of file MIME.h.


Function Documentation

MIMEFieldBlockImpl* _mime_field_block_copy ( MIMEFieldBlockImpl s_fblock,
HdrHeap s_heap,
HdrHeap d_heap 
)

Definition at line 1040 of file MIME.cc.

References HdrHeap::allocate_obj(), HDR_HEAP_OBJ_FIELD_BLOCK, and memcpy.

Referenced by mime_hdr_copy_onto().

void _mime_field_block_destroy ( HdrHeap heap,
MIMEFieldBlockImpl fblock 
)

Definition at line 1051 of file MIME.cc.

References HdrHeap::deallocate_obj().

Referenced by mime_hdr_destroy_field_block_list().

void _mime_hdr_field_block_init ( MIMEFieldBlockImpl fblock  ) 
MIMEField* _mime_hdr_field_list_search_by_slotnum ( MIMEHdrImpl mh,
int  slotnum 
)
MIMEField* _mime_hdr_field_list_search_by_string ( MIMEHdrImpl mh,
const char *  field_name_str,
int  field_name_len 
)
MIMEField* _mime_hdr_field_list_search_by_wks ( MIMEHdrImpl mh,
int  wks_idx 
)
void mime_days_since_epoch_to_mdy ( unsigned int  days_since_jan_1_1970,
int *  m_return,
int *  d_return,
int *  y_return 
)
void mime_days_since_epoch_to_mdy_slowcase ( unsigned int  days_since_jan_1_1970,
int *  m_return,
int *  d_return,
int *  y_return 
)
void mime_field_block_describe ( HdrHeapObjImpl raw,
bool  recurse 
)
MIMEField* mime_field_create ( HdrHeap heap,
MIMEHdrImpl mh 
)
MIMEField* mime_field_create_named ( HdrHeap heap,
MIMEHdrImpl mh,
const char *  name,
int  length 
)

Definition at line 1436 of file MIME.cc.

References hdrtoken_tokenize(), mime_field_create(), and mime_field_name_set().

Referenced by TSMimeHdrFieldCreateNamed().

void mime_field_destroy ( MIMEHdrImpl mh,
MIMEField field 
)

Definition at line 1697 of file MIME.cc.

References ink_assert, MIMEField::m_readiness, and MIME_FIELD_SLOT_READINESS_DETACHED.

Referenced by mime_hdr_field_delete().

void mime_field_init ( MIMEField field  ) 

Definition at line 1404 of file MIME.cc.

References MIMEField::m_readiness, and MIMEField::m_wks_idx.

Referenced by mime_field_create().

int mime_field_length_get ( MIMEField field  ) 
const char* mime_field_name_get ( MIMEField field,
int *  length 
)
void mime_field_name_set ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
int16_t  name_wks_idx_or_neg1,
const char *  name,
int  length,
bool  must_copy_string 
)
void mime_field_name_value_set ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
int16_t  name_wks_idx_or_neg1,
const char *  name,
int  name_length,
const char *  value,
int  value_length,
int  n_v_raw_printable,
int  n_v_raw_length,
bool  must_copy_strings 
)
int mime_field_presence_get ( MIMEHdrImpl h,
int  well_known_str_index 
)

Definition at line 395 of file MIME.cc.

References hdrtoken_index_to_wks(), and mime_field_presence_get().

int mime_field_presence_get ( MIMEHdrImpl h,
const char *  well_known_str 
)

Definition at line 388 of file MIME.cc.

References MIMEHdrImpl::m_presence_bits, and mime_field_presence_mask().

Referenced by mime_field_presence_get().

uint64_t mime_field_presence_mask ( int  well_known_str_index  ) 

Definition at line 382 of file MIME.cc.

References hdrtoken_index_to_mask().

uint64_t mime_field_presence_mask ( const char *  well_known_str  ) 
int mime_field_print ( MIMEField field,
char *  buf_start,
int  buf_length,
int *  buf_index_inout,
int *  buf_chars_to_skip_inout 
)
void mime_field_value_append ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
const char *  value,
int  length,
bool  prepend_comma,
const char  separator 
)
void mime_field_value_delete_comma_val ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
int  idx 
)
void mime_field_value_extend_comma_val ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
int  idx,
const char *  new_piece_str,
int  new_piece_len 
)
inkcoreapi const char* mime_field_value_get ( MIMEField field,
int *  length 
)
int mime_field_value_get_comma_list ( MIMEField field,
StrList list 
)
const char* mime_field_value_get_comma_val ( MIMEField field,
int *  length,
int  idx 
)
int mime_field_value_get_comma_val_count ( MIMEField field  ) 
time_t mime_field_value_get_date ( MIMEField field  ) 

Definition at line 1761 of file MIME.cc.

References mime_field_value_get(), and mime_parse_date().

Referenced by MIMEHdr::value_get_date(), and MIMEField::value_get_date().

int32_t mime_field_value_get_int ( MIMEField field  ) 

Definition at line 1735 of file MIME.cc.

References mime_field_value_get(), and mime_parse_int().

Referenced by MIMEHdr::value_get_int(), and MIMEField::value_get_int().

int64_t mime_field_value_get_int64 ( MIMEField field  ) 

Definition at line 1752 of file MIME.cc.

References mime_field_value_get(), and mime_parse_int64().

Referenced by MIMEHdr::value_get_int64(), and MIMEField::value_get_int64().

uint32_t mime_field_value_get_uint ( MIMEField field  ) 

Definition at line 1744 of file MIME.cc.

References mime_field_value_get(), and mime_parse_uint().

Referenced by MIMEHdr::value_get_uint(), and MIMEField::value_get_uint().

void mime_field_value_insert_comma_val ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
int  idx,
const char *  new_piece_str,
int  new_piece_len 
)
inkcoreapi void mime_field_value_set ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
const char *  value,
int  length,
bool  must_copy_string 
)
void mime_field_value_set_comma_val ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
int  idx,
const char *  new_piece_str,
int  new_piece_len 
)
void mime_field_value_set_date ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
time_t  value 
)

Definition at line 2093 of file MIME.cc.

References mime_field_value_set(), and mime_format_date().

Referenced by MIMEField::value_set_date().

void mime_field_value_set_int ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
int32_t  value 
)

Definition at line 2069 of file MIME.cc.

References mime_field_value_set(), and mime_format_int().

Referenced by MIMEField::value_set_int().

void mime_field_value_set_int64 ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
int64_t  value 
)

Definition at line 2085 of file MIME.cc.

References mime_field_value_set(), and mime_format_int64().

Referenced by MIMEField::value_set_int64().

void mime_field_value_set_uint ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
uint32_t  value 
)

Definition at line 2077 of file MIME.cc.

References mime_field_value_set(), and mime_format_uint().

Referenced by MIMEField::value_set_uint().

int mime_format_date ( char *  buffer,
time_t  value 
)
int mime_format_int ( char *  buf,
int32_t  val,
size_t  buf_len 
)
int mime_format_int64 ( char *  buf,
int64_t  val,
size_t  buf_len 
)

Definition at line 2828 of file MIME.cc.

References ink_fast_ltoa().

Referenced by mime_field_value_set_int64(), and TSMimeHdrFieldValueInt64Set().

int mime_format_uint ( char *  buf,
uint32_t  val,
size_t  buf_len 
)
MIMEHdrImpl* mime_hdr_clone ( MIMEHdrImpl s_mh,
HdrHeap s_heap,
HdrHeap d_heap,
bool  inherit_strs = true 
)

Definition at line 1131 of file MIME.cc.

References mime_hdr_copy_onto(), and mime_hdr_create().

Referenced by MIMEHdr::copy(), and TSMimeHdrClone().

void mime_hdr_cooked_stuff_init ( MIMEHdrImpl mh,
MIMEField changing_field_or_null = NULL 
)
void mime_hdr_copy_onto ( MIMEHdrImpl s_mh,
HdrHeap s_heap,
MIMEHdrImpl d_mh,
HdrHeap d_heap,
bool  inherit_strs = true 
)
MIMEHdrImpl* mime_hdr_create ( HdrHeap heap  ) 
void mime_hdr_describe ( HdrHeapObjImpl raw,
bool  recurse 
)
void mime_hdr_destroy ( HdrHeap heap,
MIMEHdrImpl mh 
)
void mime_hdr_destroy_field_block_list ( HdrHeap heap,
MIMEFieldBlockImpl head 
)
void mime_hdr_field_attach ( MIMEHdrImpl mh,
MIMEField field,
int  check_for_dups,
MIMEField prev_dup 
)
void mime_hdr_field_block_list_adjust ( int  block_count,
MIMEFieldBlockImpl old_list,
MIMEFieldBlockImpl new_list 
)
void mime_hdr_field_delete ( HdrHeap heap,
MIMEHdrImpl mh,
MIMEField field,
bool  delete_all_dups = false 
)
void mime_hdr_field_detach ( MIMEHdrImpl mh,
MIMEField field,
bool  detach_all_dups = false 
)
inkcoreapi MIMEField* mime_hdr_field_find ( MIMEHdrImpl mh,
const char *  field_name_str,
int  field_name_len 
)
MIMEField* mime_hdr_field_get ( MIMEHdrImpl mh,
int  idx 
)
MIMEField* mime_hdr_field_get_slotnum ( MIMEHdrImpl mh,
int  slotnum 
)

Definition at line 1377 of file MIME.cc.

References _mime_hdr_field_list_search_by_slotnum().

Referenced by TSMimeHdrFieldNext().

int mime_hdr_field_slotnum ( MIMEHdrImpl mh,
MIMEField field 
)
void mime_hdr_fields_clear ( HdrHeap heap,
MIMEHdrImpl mh 
)
int mime_hdr_fields_count ( MIMEHdrImpl mh  ) 
void mime_hdr_init ( MIMEHdrImpl mh  ) 
int mime_hdr_length_get ( MIMEHdrImpl mh  ) 
inkcoreapi MIMEField* mime_hdr_prepare_for_value_set ( HdrHeap heap,
MIMEHdrImpl mh,
const char *  name,
int  name_length 
)
void mime_hdr_presence_set ( MIMEHdrImpl h,
const char *  well_known_str 
)
void mime_hdr_presence_set ( MIMEHdrImpl h,
int  well_known_str_index 
)

Definition at line 410 of file MIME.cc.

References hdrtoken_index_to_wks(), and mime_hdr_presence_set().

void mime_hdr_presence_unset ( MIMEHdrImpl h,
int  well_known_str_index 
)

Definition at line 425 of file MIME.cc.

References hdrtoken_index_to_wks(), and mime_hdr_presence_unset().

void mime_hdr_presence_unset ( MIMEHdrImpl h,
const char *  well_known_str 
)
int mime_hdr_print ( HdrHeap heap,
MIMEHdrImpl mh,
char *  buf_start,
int  buf_length,
int *  buf_index_inout,
int *  buf_chars_to_skip_inout 
)
void mime_hdr_sanity_check ( MIMEHdrImpl mh  ) 
void mime_init (  ) 

Definition at line 633 of file MIME.cc.

References DFA::compile(), day_names, hdrtoken_init(), hdrtoken_string_to_wks(), hdrtoken_wks_to_index(), hdrtoken_wks_to_length(), MIME_FIELD_ACCEPT, MIME_FIELD_ACCEPT_CHARSET, MIME_FIELD_ACCEPT_ENCODING, MIME_FIELD_ACCEPT_LANGUAGE, MIME_FIELD_ACCEPT_RANGES, MIME_FIELD_AGE, MIME_FIELD_ALLOW, MIME_FIELD_APPROVED, MIME_FIELD_AUTHORIZATION, MIME_FIELD_BYTES, MIME_FIELD_CACHE_CONTROL, MIME_FIELD_CLIENT_IP, MIME_FIELD_CONNECTION, MIME_FIELD_CONTENT_BASE, MIME_FIELD_CONTENT_ENCODING, MIME_FIELD_CONTENT_LANGUAGE, MIME_FIELD_CONTENT_LENGTH, MIME_FIELD_CONTENT_LOCATION, MIME_FIELD_CONTENT_MD5, MIME_FIELD_CONTENT_RANGE, MIME_FIELD_CONTENT_TYPE, MIME_FIELD_CONTROL, MIME_FIELD_COOKIE, MIME_FIELD_DATE, MIME_FIELD_DISTRIBUTION, MIME_FIELD_ETAG, MIME_FIELD_EXPECT, MIME_FIELD_EXPIRES, MIME_FIELD_FOLLOWUP_TO, MIME_FIELD_FROM, MIME_FIELD_HOST, MIME_FIELD_IF_MATCH, MIME_FIELD_IF_MODIFIED_SINCE, MIME_FIELD_IF_NONE_MATCH, MIME_FIELD_IF_RANGE, MIME_FIELD_IF_UNMODIFIED_SINCE, MIME_FIELD_INT_DATA_INFO, MIME_FIELD_KEEP_ALIVE, MIME_FIELD_KEYWORDS, MIME_FIELD_LAST_MODIFIED, MIME_FIELD_LINES, MIME_FIELD_LOCATION, MIME_FIELD_MAX_FORWARDS, MIME_FIELD_MESSAGE_ID, MIME_FIELD_NEWSGROUPS, MIME_FIELD_ORGANIZATION, MIME_FIELD_PATH, MIME_FIELD_PRAGMA, MIME_FIELD_PROXY_AUTHENTICATE, MIME_FIELD_PROXY_AUTHORIZATION, MIME_FIELD_PROXY_CONNECTION, MIME_FIELD_PUBLIC, MIME_FIELD_RANGE, MIME_FIELD_REFERENCES, MIME_FIELD_REFERER, MIME_FIELD_REPLY_TO, MIME_FIELD_RETRY_AFTER, MIME_FIELD_SEC_WEBSOCKET_KEY, MIME_FIELD_SEC_WEBSOCKET_VERSION, MIME_FIELD_SENDER, MIME_FIELD_SERVER, MIME_FIELD_SET_COOKIE, MIME_FIELD_STRICT_TRANSPORT_SECURITY, MIME_FIELD_SUBJECT, MIME_FIELD_SUMMARY, MIME_FIELD_TE, MIME_FIELD_TRANSFER_ENCODING, MIME_FIELD_UPGRADE, MIME_FIELD_USER_AGENT, MIME_FIELD_VARY, MIME_FIELD_VIA, MIME_FIELD_WARNING, MIME_FIELD_WWW_AUTHENTICATE, MIME_FIELD_X_FORWARDED_FOR, MIME_FIELD_X_ID, MIME_FIELD_XREF, mime_init_cache_control_cooking_masks(), mime_init_date_format_table(), MIME_LEN_ACCEPT, MIME_LEN_ACCEPT_CHARSET, MIME_LEN_ACCEPT_ENCODING, MIME_LEN_ACCEPT_LANGUAGE, MIME_LEN_ACCEPT_RANGES, MIME_LEN_AGE, MIME_LEN_ALLOW, MIME_LEN_APPROVED, MIME_LEN_AUTHORIZATION, MIME_LEN_BYTES, MIME_LEN_CACHE_CONTROL, MIME_LEN_CLIENT_IP, MIME_LEN_CONNECTION, MIME_LEN_CONTENT_BASE, MIME_LEN_CONTENT_ENCODING, MIME_LEN_CONTENT_LANGUAGE, MIME_LEN_CONTENT_LENGTH, MIME_LEN_CONTENT_LOCATION, MIME_LEN_CONTENT_MD5, MIME_LEN_CONTENT_RANGE, MIME_LEN_CONTENT_TYPE, MIME_LEN_CONTROL, MIME_LEN_COOKIE, MIME_LEN_DATE, MIME_LEN_DISTRIBUTION, MIME_LEN_ETAG, MIME_LEN_EXPECT, MIME_LEN_EXPIRES, MIME_LEN_FOLLOWUP_TO, MIME_LEN_FROM, MIME_LEN_HOST, MIME_LEN_IF_MATCH, MIME_LEN_IF_MODIFIED_SINCE, MIME_LEN_IF_NONE_MATCH, MIME_LEN_IF_RANGE, MIME_LEN_IF_UNMODIFIED_SINCE, MIME_LEN_INT_DATA_INFO, MIME_LEN_KEEP_ALIVE, MIME_LEN_KEYWORDS, MIME_LEN_LAST_MODIFIED, MIME_LEN_LINES, MIME_LEN_LOCATION, MIME_LEN_MAX_FORWARDS, MIME_LEN_MESSAGE_ID, MIME_LEN_NEWSGROUPS, MIME_LEN_ORGANIZATION, MIME_LEN_PATH, MIME_LEN_PRAGMA, MIME_LEN_PROXY_AUTHENTICATE, MIME_LEN_PROXY_AUTHORIZATION, MIME_LEN_PROXY_CONNECTION, MIME_LEN_PUBLIC, MIME_LEN_RANGE, MIME_LEN_REFERENCES, MIME_LEN_REFERER, MIME_LEN_REPLY_TO, MIME_LEN_RETRY_AFTER, MIME_LEN_SEC_WEBSOCKET_KEY, MIME_LEN_SEC_WEBSOCKET_VERSION, MIME_LEN_SENDER, MIME_LEN_SERVER, MIME_LEN_SET_COOKIE, MIME_LEN_STRICT_TRANSPORT_SECURITY, MIME_LEN_SUBJECT, MIME_LEN_SUMMARY, MIME_LEN_TE, MIME_LEN_TRANSFER_ENCODING, MIME_LEN_UPGRADE, MIME_LEN_USER_AGENT, MIME_LEN_VARY, MIME_LEN_VIA, MIME_LEN_WARNING, MIME_LEN_WWW_AUTHENTICATE, MIME_LEN_X_FORWARDED_FOR, MIME_LEN_X_ID, MIME_LEN_XREF, MIME_VALUE_BYTES, MIME_VALUE_CHUNKED, MIME_VALUE_CLOSE, MIME_VALUE_COMPRESS, MIME_VALUE_DEFLATE, MIME_VALUE_GZIP, MIME_VALUE_IDENTITY, MIME_VALUE_KEEP_ALIVE, MIME_VALUE_MAX_AGE, MIME_VALUE_MAX_STALE, MIME_VALUE_MIN_FRESH, MIME_VALUE_MUST_REVALIDATE, MIME_VALUE_NEED_REVALIDATE_ONCE, MIME_VALUE_NO_CACHE, MIME_VALUE_NO_STORE, MIME_VALUE_NO_TRANSFORM, MIME_VALUE_NONE, MIME_VALUE_ONLY_IF_CACHED, MIME_VALUE_PRIVATE, MIME_VALUE_PROXY_REVALIDATE, MIME_VALUE_PUBLIC, MIME_VALUE_S_MAXAGE, MIME_VALUE_WEBSOCKET, MIME_WKSIDX_ACCEPT, MIME_WKSIDX_ACCEPT_CHARSET, MIME_WKSIDX_ACCEPT_ENCODING, MIME_WKSIDX_ACCEPT_LANGUAGE, MIME_WKSIDX_ACCEPT_RANGES, MIME_WKSIDX_AGE, MIME_WKSIDX_ALLOW, MIME_WKSIDX_APPROVED, MIME_WKSIDX_AUTHORIZATION, MIME_WKSIDX_BYTES, MIME_WKSIDX_CACHE_CONTROL, MIME_WKSIDX_CLIENT_IP, MIME_WKSIDX_CONNECTION, MIME_WKSIDX_CONTENT_BASE, MIME_WKSIDX_CONTENT_ENCODING, MIME_WKSIDX_CONTENT_LANGUAGE, MIME_WKSIDX_CONTENT_LENGTH, MIME_WKSIDX_CONTENT_LOCATION, MIME_WKSIDX_CONTENT_MD5, MIME_WKSIDX_CONTENT_RANGE, MIME_WKSIDX_CONTENT_TYPE, MIME_WKSIDX_CONTROL, MIME_WKSIDX_COOKIE, MIME_WKSIDX_DATE, MIME_WKSIDX_DISTRIBUTION, MIME_WKSIDX_ETAG, MIME_WKSIDX_EXPECT, MIME_WKSIDX_EXPIRES, MIME_WKSIDX_FOLLOWUP_TO, MIME_WKSIDX_FROM, MIME_WKSIDX_HOST, MIME_WKSIDX_IF_MATCH, MIME_WKSIDX_IF_MODIFIED_SINCE, MIME_WKSIDX_IF_NONE_MATCH, MIME_WKSIDX_IF_RANGE, MIME_WKSIDX_IF_UNMODIFIED_SINCE, MIME_WKSIDX_KEEP_ALIVE, MIME_WKSIDX_KEYWORDS, MIME_WKSIDX_LAST_MODIFIED, MIME_WKSIDX_LINES, MIME_WKSIDX_LOCATION, MIME_WKSIDX_MAX_FORWARDS, MIME_WKSIDX_MESSAGE_ID, MIME_WKSIDX_NEWSGROUPS, MIME_WKSIDX_ORGANIZATION, MIME_WKSIDX_PATH, MIME_WKSIDX_PRAGMA, MIME_WKSIDX_PROXY_AUTHENTICATE, MIME_WKSIDX_PROXY_AUTHORIZATION, MIME_WKSIDX_PROXY_CONNECTION, MIME_WKSIDX_PUBLIC, MIME_WKSIDX_RANGE, MIME_WKSIDX_REFERENCES, MIME_WKSIDX_REFERER, MIME_WKSIDX_REPLY_TO, MIME_WKSIDX_RETRY_AFTER, MIME_WKSIDX_SEC_WEBSOCKET_KEY, MIME_WKSIDX_SEC_WEBSOCKET_VERSION, MIME_WKSIDX_SENDER, MIME_WKSIDX_SERVER, MIME_WKSIDX_SET_COOKIE, MIME_WKSIDX_STRICT_TRANSPORT_SECURITY, MIME_WKSIDX_SUBJECT, MIME_WKSIDX_SUMMARY, MIME_WKSIDX_TE, MIME_WKSIDX_TRANSFER_ENCODING, MIME_WKSIDX_UPGRADE, MIME_WKSIDX_USER_AGENT, MIME_WKSIDX_VARY, MIME_WKSIDX_VIA, MIME_WKSIDX_WARNING, MIME_WKSIDX_WWW_AUTHENTICATE, MIME_WKSIDX_X_FORWARDED_FOR, MIME_WKSIDX_X_ID, MIME_WKSIDX_XREF, month_names, RE_CASE_INSENSITIVE, and SIZEOF.

Referenced by HdrTest::go(), http_init(), and init_http_header().

void mime_init_cache_control_cooking_masks (  ) 
void mime_init_date_format_table (  ) 
int mime_mem_print ( const char *  src_d,
int  src_l,
char *  buf_start,
int  buf_length,
int *  buf_index_inout,
int *  buf_chars_to_skip_inout 
)
time_t mime_parse_date ( const char *  buf,
const char *  end = NULL 
)
int mime_parse_day ( const char *&  buf,
const char *  end,
int *  day 
)

Definition at line 3406 of file MIME.cc.

References ParseRules::is_alpha(), and DFA::match().

Referenced by mime_parse_date().

int32_t mime_parse_int ( const char *  buf,
const char *  end = NULL 
)

Definition at line 3063 of file MIME.cc.

References is_digit(), and ParseRules::is_space().

Referenced by mime_field_value_get_int(), and TSMimeHdrFieldValueIntGet().

int64_t mime_parse_int64 ( const char *  buf,
const char *  end = NULL 
)

Definition at line 3125 of file MIME.cc.

References is_digit(), and ParseRules::is_space().

Referenced by mime_field_value_get_int64(), and TSMimeHdrFieldValueInt64Get().

int mime_parse_integer ( const char *&  buf,
const char *  end,
int *  integer 
)

Definition at line 3505 of file MIME.cc.

References is_digit(), and val.

Referenced by mime_parse_mday(), mime_parse_time(), and MIMEHdrImpl::recompute_cooked_stuff().

int mime_parse_mday ( const char *&  buf,
const char *  end,
int *  mday 
)

Definition at line 3452 of file MIME.cc.

References mime_parse_integer().

Referenced by mime_parse_date().

int mime_parse_month ( const char *&  buf,
const char *  end,
int *  month 
)

Definition at line 3429 of file MIME.cc.

References ParseRules::is_alpha(), and DFA::match().

Referenced by mime_parse_date().

int mime_parse_rfc822_date_fastcase ( const char *  buf,
int  length,
struct tm *  tp 
)

Definition at line 3198 of file MIME.cc.

References ink_assert, is_ws(), and DFA::match().

Referenced by mime_parse_date().

int mime_parse_time ( const char *&  buf,
const char *  end,
int *  hour,
int *  min,
int *  sec 
)

Definition at line 3488 of file MIME.cc.

References mime_parse_integer().

Referenced by mime_parse_date().

uint32_t mime_parse_uint ( const char *  buf,
const char *  end = NULL 
)

Definition at line 3101 of file MIME.cc.

References is_digit(), and ParseRules::is_space().

Referenced by mime_field_value_get_uint(), and TSMimeHdrFieldValueUintGet().

int mime_parse_year ( const char *&  buf,
const char *  end,
int *  year 
)

Definition at line 3458 of file MIME.cc.

References is_digit(), and val.

Referenced by mime_parse_date().

void mime_parser_clear ( MIMEParser parser  ) 
void mime_parser_init ( MIMEParser parser  ) 

Definition at line 2441 of file MIME.cc.

References _mime_parser_init(), MIMEParser::m_scanner, and mime_scanner_init().

Referenced by http_parser_init(), and TSMimeParserCreate().

MIMEParseResult mime_parser_parse ( MIMEParser parser,
HdrHeap heap,
MIMEHdrImpl mh,
const char **  real_s,
const char *  real_e,
bool  must_copy_strings,
bool  eof 
)

Fix for INKqa09141. The is_token function fails for '@' character. Header names starting with '@' signs are valid headers. Hence we have to add one more check to see if the first parameter is '@' character then, the header name is valid.

Definition at line 2455 of file MIME.cc.

References ParseRules::CHAR_CR, ParseRules::CHAR_LF, HdrHeap::duplicate_str(), hdrtoken_tokenize(), ParseRules::is_token(), is_ws(), ParseRules::is_wslfcr(), MIMEParser::m_scanner, mime_field_create(), mime_field_name_value_set(), mime_hdr_field_attach(), mime_scanner_get(), MIME_SCANNER_TYPE_FIELD, and PARSE_OK.

Referenced by http_parser_parse_req(), http_parser_parse_resp(), MIMEHdr::parse(), and TSMimeHdrParse().

void mime_scanner_append ( MIMEScanner scanner,
const char *  data,
int  data_size 
)
void mime_scanner_clear ( MIMEScanner scanner  ) 

Definition at line 2252 of file MIME.cc.

References _mime_scanner_init(), ats_free(), and MIMEScanner::m_line.

Referenced by mime_parser_clear().

MIMEParseResult mime_scanner_get ( MIMEScanner S,
const char **  raw_input_s,
const char *  raw_input_e,
const char **  output_s,
const char **  output_e,
bool *  output_shares_raw_input,
bool  raw_input_eof,
int  raw_input_scan_type 
)
void mime_scanner_init ( MIMEScanner scanner  ) 

Definition at line 2245 of file MIME.cc.

References _mime_scanner_init().

Referenced by mime_parser_init().

const char* mime_str_u16_set ( HdrHeap heap,
const char *  s_str,
int  s_len,
const char **  d_str,
uint16_t *  d_len,
bool  must_copy 
)

Variable Documentation

const char* MIME_FIELD_ACCEPT

Definition at line 85 of file MIME.cc.

Referenced by api_init(), HttpTransactCache::calculate_quality_of_match(), and mime_init().

Definition at line 89 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_AGE

Definition at line 90 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_ALLOW
const char* MIME_FIELD_APPROVED

Definition at line 92 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 93 of file MIME.cc.

Referenced by api_init(), PrefetchBlaster::init(), and mime_init().

const char* MIME_FIELD_BYTES

Definition at line 94 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_CLIENT_IP
const char* MIME_FIELD_CONNECTION

Definition at line 98 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 102 of file MIME.cc.

Referenced by api_init(), HttpTransact::build_response(), mime_init(), and UrlRewrite::ReverseMap().

Definition at line 103 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_CONTROL

Definition at line 106 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_COOKIE
const char* MIME_FIELD_DATE

Definition at line 108 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 109 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_ETAG
const char* MIME_FIELD_EXPECT
const char* MIME_FIELD_EXPIRES

Definition at line 113 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_FROM
const char* MIME_FIELD_HOST
const char* MIME_FIELD_IF_MATCH
const char* MIME_FIELD_IF_RANGE

Definition at line 156 of file MIME.cc.

Referenced by mime_init().

const char* MIME_FIELD_KEEP_ALIVE

Definition at line 121 of file MIME.cc.

Referenced by api_init(), HttpTransactHeaders::is_this_a_hop_by_hop_header(), and mime_init().

const char* MIME_FIELD_KEYWORDS

Definition at line 122 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_LINES

Definition at line 124 of file MIME.cc.

Referenced by api_init(), and mime_init().

inkcoreapi const char* MIME_FIELD_LOCATION
const char* MIME_FIELD_MESSAGE_ID

Definition at line 127 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_NEWSGROUPS

Definition at line 128 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 129 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_PATH

Definition at line 130 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_PRAGMA

Definition at line 133 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_PUBLIC

Definition at line 135 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_RANGE
const char* MIME_FIELD_REFERENCES

Definition at line 137 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_REFERER
const char* MIME_FIELD_REPLY_TO

Definition at line 139 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 140 of file MIME.cc.

Referenced by api_init(), HttpTransact::build_error_response(), and mime_init().

Definition at line 159 of file MIME.cc.

Referenced by HttpTransact::handle_upgrade_request(), and mime_init().

Definition at line 160 of file MIME.cc.

Referenced by HttpTransact::handle_upgrade_request(), and mime_init().

const char* MIME_FIELD_SENDER

Definition at line 141 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_SERVER
const char* MIME_FIELD_SET_COOKIE
const char* MIME_FIELD_SUBJECT

Definition at line 145 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_SUMMARY

Definition at line 146 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_FIELD_TE

Definition at line 147 of file MIME.cc.

Referenced by api_init(), HttpTransact::check_request_validity(), and mime_init().

const char* MIME_FIELD_UPGRADE
const char* MIME_FIELD_USER_AGENT
const char* MIME_FIELD_VARY
const char* MIME_FIELD_VIA
const char* MIME_FIELD_WARNING

Definition at line 158 of file MIME.cc.

Referenced by HttpTransact::add_client_ip_to_outgoing_request(), api_init(), and mime_init().

const char* MIME_FIELD_X_ID

Definition at line 157 of file MIME.cc.

Referenced by mime_init(), and HttpSM::update_stats().

const char* MIME_FIELD_XREF

Definition at line 155 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 198 of file MIME.cc.

Referenced by api_init(), HttpTransactCache::calculate_quality_of_match(), and mime_init().

Definition at line 202 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 203 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 205 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 206 of file MIME.cc.

Referenced by api_init(), PrefetchBlaster::init(), and mime_init().

Definition at line 478 of file MIME.h.

Referenced by api_init(), and mime_init().

Definition at line 211 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 215 of file MIME.cc.

Referenced by api_init(), HttpTransact::build_response(), mime_init(), and UrlRewrite::ReverseMap().

Definition at line 216 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 219 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 221 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 222 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 226 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 269 of file MIME.cc.

Referenced by mime_init().

Definition at line 485 of file MIME.h.

Referenced by api_init(), and mime_init().

Definition at line 235 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 237 of file MIME.cc.

Referenced by api_init(), and mime_init().

inkcoreapi int MIME_LEN_LOCATION

Definition at line 240 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 241 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 242 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 243 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 246 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 497 of file MIME.h.

Referenced by api_init(), and mime_init().

Definition at line 250 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 252 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 253 of file MIME.cc.

Referenced by api_init(), HttpTransact::build_error_response(), and mime_init().

Definition at line 272 of file MIME.cc.

Referenced by HttpTransact::handle_upgrade_request(), and mime_init().

Definition at line 273 of file MIME.cc.

Referenced by HttpTransact::handle_upgrade_request(), and mime_init().

Definition at line 254 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 258 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 259 of file MIME.cc.

Referenced by api_init(), and mime_init().

Definition at line 260 of file MIME.cc.

Referenced by api_init(), HttpTransact::check_request_validity(), and mime_init().

Definition at line 271 of file MIME.cc.

Referenced by HttpTransact::add_client_ip_to_outgoing_request(), api_init(), and mime_init().

Definition at line 270 of file MIME.cc.

Referenced by mime_init(), and HttpSM::update_stats().

Definition at line 268 of file MIME.cc.

Referenced by api_init(), and mime_init().

const char* MIME_VALUE_BYTES

Definition at line 162 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_CHUNKED

Definition at line 163 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_CLOSE

Definition at line 164 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_COMPRESS

Definition at line 165 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_DEFLATE

Definition at line 166 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_GZIP

Definition at line 167 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_IDENTITY

Definition at line 168 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_KEEP_ALIVE

Definition at line 169 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_MAX_AGE

Definition at line 170 of file MIME.cc.

Referenced by mime_init(), and MIMEHdrImpl::recompute_cooked_stuff().

const char* MIME_VALUE_MAX_STALE

Definition at line 171 of file MIME.cc.

Referenced by mime_init(), and MIMEHdrImpl::recompute_cooked_stuff().

const char* MIME_VALUE_MIN_FRESH

Definition at line 172 of file MIME.cc.

Referenced by mime_init(), and MIMEHdrImpl::recompute_cooked_stuff().

Definition at line 173 of file MIME.cc.

Referenced by mime_init().

Definition at line 183 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_NO_CACHE

Definition at line 175 of file MIME.cc.

Referenced by mime_init(), and MIMEHdrImpl::recompute_cooked_stuff().

const char* MIME_VALUE_NO_STORE

Definition at line 176 of file MIME.cc.

Referenced by mime_init().

Definition at line 177 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_NONE

Definition at line 174 of file MIME.cc.

Referenced by mime_init().

Definition at line 178 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_PRIVATE

Definition at line 179 of file MIME.cc.

Referenced by mime_init().

Definition at line 180 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_PUBLIC

Definition at line 181 of file MIME.cc.

Referenced by mime_init().

const char* MIME_VALUE_S_MAXAGE

Definition at line 182 of file MIME.cc.

Referenced by mime_init(), and MIMEHdrImpl::recompute_cooked_stuff().

const char* MIME_VALUE_WEBSOCKET

Definition at line 184 of file MIME.cc.

Referenced by HttpTransact::handle_upgrade_request(), and mime_init().

Definition at line 275 of file MIME.cc.

Referenced by mime_init().

Definition at line 276 of file MIME.cc.

Referenced by mime_init().

Definition at line 277 of file MIME.cc.

Referenced by mime_init().

Definition at line 278 of file MIME.cc.

Referenced by mime_init().

Definition at line 279 of file MIME.cc.

Referenced by mime_init().

Definition at line 280 of file MIME.cc.

Referenced by mime_init().

Definition at line 281 of file MIME.cc.

Referenced by mime_init().

Definition at line 282 of file MIME.cc.

Referenced by mime_init().

Definition at line 283 of file MIME.cc.

Referenced by mime_init().

Definition at line 284 of file MIME.cc.

Referenced by mime_init().

Definition at line 286 of file MIME.cc.

Referenced by mime_init().

Definition at line 287 of file MIME.cc.

Referenced by mime_init().

Definition at line 288 of file MIME.cc.

Referenced by mime_init().

Definition at line 289 of file MIME.cc.

Referenced by mime_init().

Definition at line 290 of file MIME.cc.

Referenced by mime_init().

Definition at line 291 of file MIME.cc.

Referenced by mime_init().

Definition at line 292 of file MIME.cc.

Referenced by mime_init().

Definition at line 293 of file MIME.cc.

Referenced by mime_init().

Definition at line 294 of file MIME.cc.

Referenced by mime_init().

Definition at line 295 of file MIME.cc.

Referenced by mime_init().

Definition at line 296 of file MIME.cc.

Referenced by mime_init().

Definition at line 297 of file MIME.cc.

Referenced by mime_init().

Definition at line 298 of file MIME.cc.

Referenced by HttpTransactHeaders::copy_header_fields(), and mime_init().

Definition at line 299 of file MIME.cc.

Referenced by mime_init().

Definition at line 300 of file MIME.cc.

Referenced by mime_init().

Definition at line 301 of file MIME.cc.

Referenced by mime_init().

Definition at line 302 of file MIME.cc.

Referenced by mime_init().

Definition at line 303 of file MIME.cc.

Referenced by mime_init().

Definition at line 304 of file MIME.cc.

Referenced by mime_init().

Definition at line 305 of file MIME.cc.

Referenced by mime_init().

Definition at line 306 of file MIME.cc.

Referenced by mime_init().

Definition at line 307 of file MIME.cc.

Referenced by mime_init().

Definition at line 308 of file MIME.cc.

Referenced by mime_init().

Definition at line 309 of file MIME.cc.

Referenced by mime_init().

Definition at line 310 of file MIME.cc.

Referenced by mime_init().

Definition at line 346 of file MIME.cc.

Definition at line 311 of file MIME.cc.

Referenced by mime_init().

Definition at line 312 of file MIME.cc.

Referenced by mime_init().

Definition at line 313 of file MIME.cc.

Referenced by mime_init().

Definition at line 314 of file MIME.cc.

Referenced by mime_init().

Definition at line 315 of file MIME.cc.

Referenced by mime_init().

Definition at line 316 of file MIME.cc.

Referenced by mime_init().

Definition at line 317 of file MIME.cc.

Referenced by mime_init().

Definition at line 318 of file MIME.cc.

Referenced by mime_init().

Definition at line 319 of file MIME.cc.

Referenced by mime_init().

Definition at line 320 of file MIME.cc.

Referenced by mime_init().

Definition at line 322 of file MIME.cc.

Referenced by mime_init().

Definition at line 323 of file MIME.cc.

Referenced by mime_init().

Definition at line 324 of file MIME.cc.

Referenced by mime_init().

Definition at line 325 of file MIME.cc.

Referenced by mime_init().

Definition at line 326 of file MIME.cc.

Referenced by mime_init().

Definition at line 327 of file MIME.cc.

Referenced by mime_init().

Definition at line 328 of file MIME.cc.

Referenced by mime_init().

Definition at line 329 of file MIME.cc.

Referenced by mime_init().

Definition at line 330 of file MIME.cc.

Referenced by mime_init().

Definition at line 349 of file MIME.cc.

Referenced by mime_init().

Definition at line 350 of file MIME.cc.

Referenced by mime_init().

Definition at line 331 of file MIME.cc.

Referenced by mime_init().

Definition at line 332 of file MIME.cc.

Referenced by mime_init().

Definition at line 333 of file MIME.cc.

Referenced by mime_init().

Definition at line 334 of file MIME.cc.

Referenced by mime_init().

Definition at line 335 of file MIME.cc.

Referenced by mime_init().

Definition at line 336 of file MIME.cc.

Referenced by mime_init().

Definition at line 337 of file MIME.cc.

Referenced by mime_init().

Definition at line 338 of file MIME.cc.

Referenced by mime_init().

Definition at line 339 of file MIME.cc.

Referenced by mime_init().

Definition at line 340 of file MIME.cc.

Referenced by mime_init().

Definition at line 341 of file MIME.cc.

Referenced by mime_init().

Definition at line 342 of file MIME.cc.

Referenced by mime_init().

Definition at line 343 of file MIME.cc.

Referenced by mime_init().

Definition at line 344 of file MIME.cc.

Referenced by mime_init().

Definition at line 347 of file MIME.cc.

Referenced by mime_init().

Definition at line 345 of file MIME.cc.

Referenced by mime_init().