libcmime  
A lightweight C mime library
Data Structures | Macros | Functions
cmime_part.h File Reference

Defines functions and structs for mime part handling. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <assert.h>
#include <libgen.h>
#include <ctype.h>
#include <errno.h>
#include "cmime_list.h"
Include dependency graph for cmime_part.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CMimePart_T
 A mime part. More...
 

Macros

#define cmime_part_get_content(part)   (part->content);
 
#define cmime_part_get_postface(part)   (part->postface);
 

Functions

CMimePart_Tcmime_part_new (void)
 Creates a new CMimePart_T object. More...
 
void cmime_part_free (CMimePart_T *part)
 Frees a CMimePart_T object. More...
 
void cmime_part_set_content_type (CMimePart_T *part, const char *s)
 Set the content type for a mime part. More...
 
char * cmime_part_get_content_type (CMimePart_T *part)
 Return content type of mime part. More...
 
void cmime_part_set_content_disposition (CMimePart_T *part, const char *s)
 Set content disposition for mime part. More...
 
char * cmime_part_get_content_disposition (CMimePart_T *part)
 Return content disposition of mime part. More...
 
void cmime_part_set_content_transfer_encoding (CMimePart_T *part, const char *s)
 Set content transfer encoding for mime part. More...
 
char * cmime_part_get_content_transfer_encoding (CMimePart_T *part)
 Return content transfer encoding of mime part. More...
 
void cmime_part_set_content_id (CMimePart_T *part, const char *s)
 Set content id for mime part. More...
 
char * cmime_part_get_content_id (CMimePart_T *part)
 Return content id of mime part. More...
 
void cmime_part_set_content (CMimePart_T *part, const char *s)
 Set content for mime part. More...
 
void cmime_part_set_postface (CMimePart_T *part, const char *s)
 Set mime parts postface. More...
 
char * cmime_part_to_string (CMimePart_T *part, const char *nl)
 Return complete mime part as string, inclusive all mime headers. More...
 
int cmime_part_from_file (CMimePart_T **part, char *filename, const char *nl)
 Create a CMimePart_T object from file. More...
 
int cmime_part_to_file (CMimePart_T *part, char *filename)
 Create a file from CMimePart_T object. More...
 
int cmime_part_from_string (CMimePart_T **part, const char *content)
 Parse given string and create a new CMimePart_T object. More...
 

Detailed Description

Defines functions and structs for mime part handling.

Macro Definition Documentation

#define cmime_part_get_content (   part)    (part->content);
Returns
content of mime part
#define cmime_part_get_postface (   part)    (part->postface);
Returns
postface of mime part

Function Documentation

void cmime_part_free ( CMimePart_T part)

Frees a CMimePart_T object.

Parameters
parta CMimePart_T object
int cmime_part_from_file ( CMimePart_T **  part,
char *  filename,
const char *  nl 
)

Create a CMimePart_T object from file.

Parameters
partout param to return the new part
filenamepath to file
nlnewline character which should be used. If NULL newline character will be determined automatically.
Returns
0 on success, -1 on stat error, -2 if not a regular file
Examples:
create_mime_message_part_from_file.c.
int cmime_part_from_string ( CMimePart_T **  part,
const char *  content 
)

Parse given string and create a new CMimePart_T object.

Parameters
partout param to return the new mime part object
contentmime part string to parse
Returns
0 on success or -1 in case of error
char* cmime_part_get_content_disposition ( CMimePart_T part)

Return content disposition of mime part.

Parameters
parta CMimePart_T object
Returns
mime parts content disposition
char* cmime_part_get_content_id ( CMimePart_T part)

Return content id of mime part.

Parameters
parta CMimePart_T object
Returns
newly allocated char pointer with content id of mime part
char* cmime_part_get_content_transfer_encoding ( CMimePart_T part)

Return content transfer encoding of mime part.

Parameters
parta CMimePart_T object
Returns
mime parts content transfer encoding
char* cmime_part_get_content_type ( CMimePart_T part)

Return content type of mime part.

Parameters
parta CMimePart_T object
Returns
mime parts content type
CMimePart_T* cmime_part_new ( void  )

Creates a new CMimePart_T object.

Returns
CMimePart_T pointer, or NULL on failure
Examples:
create_mime_message_part_from_file.c.
void cmime_part_set_content ( CMimePart_T part,
const char *  s 
)

Set content for mime part.

Parameters
parta CMimePart_T object
smime part content
void cmime_part_set_content_disposition ( CMimePart_T part,
const char *  s 
)

Set content disposition for mime part.

Parameters
parta CMimePart_T object
scontent disosition string
void cmime_part_set_content_id ( CMimePart_T part,
const char *  s 
)

Set content id for mime part.

Parameters
parta CMimePart_T object
scontent id string
void cmime_part_set_content_transfer_encoding ( CMimePart_T part,
const char *  s 
)

Set content transfer encoding for mime part.

Parameters
parta CMimePart_T object
scontent transfer encoding string
void cmime_part_set_content_type ( CMimePart_T part,
const char *  s 
)

Set the content type for a mime part.

Parameters
parta CMimePart_T object
scontent type string
void cmime_part_set_postface ( CMimePart_T part,
const char *  s 
)

Set mime parts postface.

Parameters
parta CMimePart_T object
spostface string
int cmime_part_to_file ( CMimePart_T part,
char *  filename 
)

Create a file from CMimePart_T object.

Parameters
partCMimePart_T object
filenamepath to out file
Returns
0 on success, -1 on error
Examples:
save_attachment_to_file.c.
char* cmime_part_to_string ( CMimePart_T part,
const char *  nl 
)

Return complete mime part as string, inclusive all mime headers.

Parameters
parta CMimePart_T object
nlnewline character which should be used. If NULL newline character will be determined automatically.
Returns
a newly allocated string with complete mime part