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.
|
|
#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.
|
| |
|
| 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.
|
| |
|
|
char const | msg_mime_version_1_0 [] |
| | Protocol version of MIME.
|
| |
MIME headers and multipart messages (RFC 2045).
- Author
- Pekka Pessi Pekka.nosp@m..Pes.nosp@m.si@no.nosp@m.kia..nosp@m.com
- Date
- Created: Fri Aug 16 19:18:26 EEST 2002 ppessi
◆ msg_accept_any_dup_one()
Duplicate one msg_accept_any_t object.
◆ msg_accept_any_dup_xtra()
| isize_t msg_accept_any_dup_xtra |
( |
msg_header_t const * | h, |
|
|
isize_t | offset ) |
Calculate extra memory used by accept-* headers.
◆ msg_multipart_complete()
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.
- Parameters
-
| [in,out] | home | home for allocating structures |
| [in,out] | c | content-type header for multipart |
| [in,out] | mp | pointer to first multipart structure |
- Return values
-
| 0 | when successful |
| -1 | upon an error |
- Errors:
- \n EBADMSG
- The Content-Type header c is malformed, or multipart message contains a malformed Content-Type header.
- \n ENOMEM
- A memory allocation failed.
- \n EINVAL
- The function msg_multipart_complete() was given invalid arguments.
◆ msg_multipart_create()
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.
- Returns
- A pointer to the newly created msg_multipart_t object, or NULL upon an error.
◆ msg_multipart_parse()
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).
- Parameters
-
| [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).
- Note
- If no Content-Type header is given, the msg_multipart_parse() tries to look for a suitable boundary. Currently, it takes first boundary-looking string and uses that, so it can be fooled with, for instance, signature
"--Pekka".
◆ msg_multipart_prepare()
Encode a multipart.
- Returns
- The size of multipart in bytes, or -1 upon an error.
Sofia-SIP 1.13.17 -
Copyright (C) 2006 Nokia Corporation. All rights reserved.
Licensed under the terms of the GNU Lesser General Public License.