Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

dime.c File Reference


Detailed Description

Dime parser / creator.

Author:
Jeroen Asselman
Date:
2004

#include "common.h"
#include "dime.h"
#include "lib/endian.h"
#include "lib/walloc.h"
#include "lib/override.h"

Data Structures

struct  dime_record

Defines

#define DIME_VERSION   0x01
#define DIME_HEADER_SIZE   12

Enumerations

enum  { DIME_F_CF = 1 << 0, DIME_F_ME = 1 << 1, DIME_F_MB = 1 << 2 }
enum  dime_type_t {
  DIME_T_UNCHANGED = 0x00, DIME_T_MIME = 0x01, DIME_T_URI = 0x02, DIME_T_UNKNOWN = 0x03,
  DIME_T_NONE = 0x04
}

Functions

dime_recorddime_record_alloc (void)
void dime_record_free (struct dime_record **record_ptr)
void dime_list_free (GSList **list_ptr)
size_t dime_ceil (size_t value)
 Makes a value a multiple of 4.
void dime_fill_record_header (const struct dime_record *record, char *data, size_t size, guint flags)
 Create a dime record header.
size_t copy_and_pad (char *dst, const char *src, size_t size)
size_t dime_create_record (const struct dime_record *record, char **data_ptr, gboolean first, gboolean last)
size_t dime_parse_record_header (const char *data, size_t size, struct dime_record *header)
GSList * dime_parse_records (const gchar *data, size_t size)
gboolean dime_record_set_data (struct dime_record *record, const void *data, size_t size)
gboolean dime_record_set_id (struct dime_record *record, const char *id)
gboolean dime_record_set_type (struct dime_record *record, enum dime_type_t type_t, const char *type)
gboolean dime_record_set_type_uri (struct dime_record *record, const char *type)
gboolean dime_record_set_type_mime (struct dime_record *record, const char *type)
const char * dime_record_type (const struct dime_record *record)
size_t dime_record_type_length (const struct dime_record *record)
const char * dime_record_data (const struct dime_record *record)
size_t dime_record_data_length (const struct dime_record *record)
const char * dime_record_id (const struct dime_record *record)
size_t dime_record_id_length (const struct dime_record *record)


Define Documentation

#define DIME_HEADER_SIZE   12
 

#define DIME_VERSION   0x01
 


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
DIME_F_CF 
DIME_F_ME 
DIME_F_MB 

enum dime_type_t
 

Enumeration values:
DIME_T_UNCHANGED 
DIME_T_MIME 
DIME_T_URI 
DIME_T_UNKNOWN 
DIME_T_NONE 


Function Documentation

size_t copy_and_pad char *  dst,
const char *  src,
size_t  size
[static]
 

size_t dime_ceil size_t  value  )  [inline, static]
 

Makes a value a multiple of 4.

size_t dime_create_record const struct dime_record record,
char **  data_ptr,
gboolean  first,
gboolean  last
 

void dime_fill_record_header const struct dime_record record,
char *  data,
size_t  size,
guint  flags
[static]
 

Create a dime record header.

void dime_list_free GSList **  list_ptr  ) 
 

size_t dime_parse_record_header const char *  data,
size_t  size,
struct dime_record header
[static]
 

GSList* dime_parse_records const gchar *  data,
size_t  size
 

struct dime_record* dime_record_alloc void   ) 
 

const char* dime_record_data const struct dime_record record  ) 
 

size_t dime_record_data_length const struct dime_record record  ) 
 

void dime_record_free struct dime_record **  record_ptr  ) 
 

const char* dime_record_id const struct dime_record record  ) 
 

size_t dime_record_id_length const struct dime_record record  ) 
 

gboolean dime_record_set_data struct dime_record record,
const void *  data,
size_t  size
 

gboolean dime_record_set_id struct dime_record record,
const char *  id
 

gboolean dime_record_set_type struct dime_record record,
enum dime_type_t  type_t,
const char *  type
[static]
 

gboolean dime_record_set_type_mime struct dime_record record,
const char *  type
 

gboolean dime_record_set_type_uri struct dime_record record,
const char *  type
 

const char* dime_record_type const struct dime_record record  ) 
 

size_t dime_record_type_length const struct dime_record record  ) 
 


Generated on Sat Jun 30 17:53:25 2007 for gtk-gnutella by  doxygen 1.3.9.1