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

Defines functions and structs for header management. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
Include dependency graph for cmime_header.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CMimeHeader_T
 A email header item. More...
 

Macros

#define cmime_header_get_name(header)   (header->name)
 
#define cmime_header_get_count(header)   ((int)header->count)
 

Functions

CMimeHeader_Tcmime_header_new (void)
 Creates a new CMimeHeader_T object. More...
 
void cmime_header_free (CMimeHeader_T *header)
 Free a CMimeHeader_T object. More...
 
void cmime_header_set_name (CMimeHeader_T *header, const char *name)
 Set a header name, if aleready exists, name will be overwritten. More...
 
void cmime_header_set_value (CMimeHeader_T *header, const char *value, int overwrite)
 Set/append a header value. More...
 
char * cmime_header_get_value (CMimeHeader_T *header, int pos)
 Return header value (at given position, if header appears more than once) More...
 
char * cmime_header_to_string (CMimeHeader_T *header)
 Return full header as newly allocated string. More...
 

Detailed Description

Defines functions and structs for header management.

Macro Definition Documentation

#define cmime_header_get_count (   header)    ((int)header->count)
Returns
header value count
#define cmime_header_get_name (   header)    (header->name)
Returns
header name

Function Documentation

void cmime_header_free ( CMimeHeader_T header)

Free a CMimeHeader_T object.

Parameters
headerCMimeHeader_T pointer
char* cmime_header_get_value ( CMimeHeader_T header,
int  pos 
)

Return header value (at given position, if header appears more than once)

Parameters
headerCMimeHeader_T pointer
posPosition of appearance in email
Returns
header value
CMimeHeader_T* cmime_header_new ( void  )

Creates a new CMimeHeader_T object.

Returns
CMimeHeader_T pointer, or NULL on failure
void cmime_header_set_name ( CMimeHeader_T header,
const char *  name 
)

Set a header name, if aleready exists, name will be overwritten.

Parameters
headerCMimeHeader_T pointer
namename of header
void cmime_header_set_value ( CMimeHeader_T header,
const char *  value,
int  overwrite 
)

Set/append a header value.

Parameters
headerCMimeHeader_T pointer
valueheader value
overwrite1 will overwrite value, 0 append
char* cmime_header_to_string ( CMimeHeader_T header)

Return full header as newly allocated string.

Parameters
headera CMimeHeader_T object
Returns
full header as newly allocated string