MIME headers and multipart messages (RFC 2045). More...
#include <sofia-sip/url.h>#include <sofia-sip/msg_types.h>#include <sofia-sip/su_types.h>
Go to the source code of this file.
Data Structures | |
| struct | msg_accept_s |
| Structure for Accept header. More... | |
| struct | msg_accept_any_s |
| Structure for Accept-Charset, Accept-Encoding and Accept-Language headers. More... | |
| struct | msg_content_disposition_s |
| Structure for Content-Disposition header. More... | |
| struct | msg_content_length_s |
| Structure for Content-Length header. More... | |
| struct | msg_content_type_s |
| Structure for Content-Type header. More... | |
| struct | msg_warning_s |
| Structure for Warning header. More... | |
| struct | msg_multipart_s |
| Structure for a part in MIME multipart message. More... | |
Defines | |
| #define | MSG_MIME_H |
| Defined when <sofia-sip/msg_mime.h> has been included. | |
| #define | MSG_MULTIPART_VERSION_CURRENT |
| MIME multipart protocol name. | |
| #define | MSG_MULTIPART_PROTOCOL_TAG |
| MIME multipart parser table identifier. | |
Typedefs | |
| typedef struct msg_accept_s | msg_accept_t |
| The structure msg_accept_t contains representation of an Accept header. | |
| typedef msg_accept_any_t | msg_accept_charset_t |
| The structure msg_accept_encoding_t contains representation of Accept-Charset header. | |
| typedef msg_accept_any_t | msg_accept_encoding_t |
| The structure msg_accept_encoding_t contains representation of Accept-Encoding header. | |
| typedef msg_accept_any_t | msg_accept_language_t |
| The structure msg_accept_language_t contains representation of Accept-Language header. | |
| typedef struct msg_content_disposition_s | msg_content_disposition_t |
| The structure msg_content_disposition_t contains representation of an Content-Disposition header. | |
| typedef msg_list_t | msg_content_encoding_t |
| The structure msg_content_encoding_t contains representation of an Content-Encoding header. | |
| typedef msg_generic_t | msg_content_id_t |
| Content-ID Header Structure. | |
| typedef struct msg_content_length_s | msg_content_length_t |
| The structure msg_content_length_t contains representation of a Content-Length header. | |
| typedef msg_generic_t | msg_content_location_t |
| The structure msg_content_location_t contains representation of an Content-Location header. | |
| typedef msg_list_t | msg_content_language_t |
| The structure msg_content_language_t contains representation of Content-Language header. | |
| typedef msg_generic_t | msg_content_md5_t |
| The structure msg_content_md5_t contains representation of an Content-MD5 header. | |
| typedef msg_generic_t | msg_content_transfer_encoding_t |
| The structure msg_content_transfer_encoding_t contains representation of an Content-Transfer-Encoding header. | |
| typedef struct msg_content_type_s | msg_content_type_t |
| The structure msg_content_type_t contains representation of Content-Type header. | |
| typedef msg_generic_t | msg_mime_version_t |
| The structure msg_mime_version_t contains representation of an MIME-Version header. | |
| typedef struct msg_warning_s | msg_warning_t |
| The structure msg_warning_t contains representation of an Warning header. | |
| typedef struct msg_multipart_s | msg_multipart_t |
| Multipart body object. | |
Functions | |
| msg_multipart_t * | msg_multipart_create (su_home_t *home, char const *content_type, void const *data, isize_t dlen) |
| Create a part for MIME multipart entity. | |
| msg_multipart_t * | msg_multipart_parse (su_home_t *home, msg_content_type_t const *c, msg_payload_t *pl) |
| Parse a MIME multipart. | |
| int | msg_multipart_complete (su_home_t *home, msg_content_type_t *c, msg_multipart_t *mp) |
| Add all missing parts to the multipart. | |
| msg_header_t * | msg_multipart_serialize (msg_header_t **head0, msg_multipart_t *mp) |
| Serialize a multipart message. | |
| issize_t | msg_multipart_prepare (msg_t *msg, msg_multipart_t *mp, int flags) |
| Encode a multipart. | |
| isize_t | msg_accept_any_dup_xtra (msg_header_t const *h, isize_t offset) |
| Calculate extra memory used by accept-* headers. | |
| char * | msg_accept_any_dup_one (msg_header_t *dst, msg_header_t const *src, char *b, isize_t xtra) |
| Duplicate one msg_accept_any_t object. | |
| msg_content_length_t * | msg_content_length_create (su_home_t *home, uint32_t n) |
| Create a Content-Length header object. | |
Variables | |
| char const | msg_mime_version_1_0 [] |
| Protocol version of MIME. | |
MIME headers and multipart messages (RFC 2045).
| #define MSG_MIME_H |
Defined when <sofia-sip/msg_mime.h> has been included.
| typedef struct msg_multipart_s msg_multipart_t |
Multipart body object.
| char * msg_accept_any_dup_one | ( | msg_header_t * | dst, | |
| msg_header_t const * | src, | |||
| char * | b, | |||
| isize_t | xtra | |||
| ) |
Duplicate one msg_accept_any_t object.
| isize_t msg_accept_any_dup_xtra | ( | msg_header_t const * | h, | |
| isize_t | offset | |||
| ) |
Calculate extra memory used by accept-* headers.
| int msg_multipart_complete | ( | su_home_t * | home, | |
| msg_content_type_t * | c, | |||
| msg_multipart_t * | mp | |||
| ) |
Add all missing parts to the multipart.
Add missing components such as boundaries between body parts, separators between body-part headers and data, and close-delimiter after last body-part to the multipart message.
| [in,out] | home | home for allocating structures |
| [in,out] | c | content-type header for multipart |
| [in,out] | mp | pointer to first multipart structure |
| 0 | when successful | |
| -1 | upon an error |
| msg_multipart_t* msg_multipart_create | ( | su_home_t * | home, | |
| char const * | content_type, | |||
| void const * | data, | |||
| isize_t | dlen | |||
| ) |
Create a part for MIME multipart entity.
The function msg_multipart_create() allocates a new msg_multipart_t object from memory home home. If content_type is non-NULL, it makes a msg_content_type_t header object and adds the header to the msg_multipart_t object. If dlen is nonzero, it allocates a msg_payload_t structure of dlen bytes for the payload of the newly created msg_multipart_t object. If data is non-NULL, it copies the dlen bytes of of data to the payload of the newly created msg_multipart_t object.
| msg_multipart_t* msg_multipart_parse | ( | su_home_t * | home, | |
| msg_content_type_t const * | c, | |||
| msg_payload_t * | pl | |||
| ) |
Parse a MIME multipart.
The function msg_multipart_parse() parses a MIME multipart message. The common syntax of multiparts is described in RFC 2046 (section 7).
| [in,out] | home | home for allocating structures |
| [in] | c | content-type header for multipart |
| [in] | pl | payload structure for multipart |
After parsing, the pl will contain the plain-text preamble (if any).
"--Pekka". | issize_t msg_multipart_prepare | ( | msg_t * | msg, | |
| msg_multipart_t * | mp, | |||
| int | flags | |||
| ) |
Encode a multipart.