idmef-data

idmef-data

Synopsis

enum                idmef_data_type_t;
                    data;
int                 idmef_data_new                      (idmef_data_t **data);
idmef_data_t *      idmef_data_ref                      (idmef_data_t *data);
int                 idmef_data_new_char                 (idmef_data_t **data,
                                                         char c);
int                 idmef_data_new_byte                 (idmef_data_t **data,
                                                         uint8_t i);
int                 idmef_data_new_uint32               (idmef_data_t **data);
int                 idmef_data_new_float                (idmef_data_t **data,
                                                         float f);
void                idmef_data_set_char                 (idmef_data_t *data,
                                                         char c);
void                idmef_data_set_byte                 (idmef_data_t *data,
                                                         uint8_t i);
void                idmef_data_set_uint32               (idmef_data_t *data);
void                idmef_data_set_float                (idmef_data_t *data,
                                                         float f);
int                 idmef_data_set_ptr_dup_fast         (idmef_data_t *data,
                                                         idmef_data_type_t type,
                                                         const void *ptr,
                                                         size_t len);
int                 idmef_data_set_ptr_ref_fast         (idmef_data_t *data,
                                                         idmef_data_type_t type,
                                                         const void *ptr,
                                                         size_t len);
int                 idmef_data_set_ptr_nodup_fast       (idmef_data_t *data,
                                                         idmef_data_type_t type,
                                                         void *ptr,
                                                         size_t len);
int                 idmef_data_new_ptr_dup_fast         (idmef_data_t **data,
                                                         idmef_data_type_t type,
                                                         const void *ptr,
                                                         size_t len);
int                 idmef_data_new_ptr_ref_fast         (idmef_data_t **data,
                                                         idmef_data_type_t type,
                                                         const void *ptr,
                                                         size_t len);
int                 idmef_data_new_ptr_nodup_fast       (idmef_data_t **data,
                                                         idmef_data_type_t type,
                                                         void *ptr,
                                                         size_t len);
int                 idmef_data_set_char_string_dup_fast (idmef_data_t *data,
                                                         const char *str,
                                                         size_t len);
int                 idmef_data_new_char_string_dup_fast (idmef_data_t **data,
                                                         const char *str,
                                                         size_t len);
int                 idmef_data_new_char_string_ref_fast (idmef_data_t **data,
                                                         const char *ptr,
                                                         size_t len);
int                 idmef_data_new_char_string_nodup_fast
                                                        (idmef_data_t **data,
                                                         char *ptr,
                                                         size_t len);
int                 idmef_data_set_char_string_ref_fast (idmef_data_t *data,
                                                         const char *ptr,
                                                         size_t len);
int                 idmef_data_set_char_string_nodup_fast
                                                        (idmef_data_t *data,
                                                         char *ptr,
                                                         size_t len);
int                 idmef_data_new_char_string_ref      (idmef_data_t **data,
                                                         const char *ptr);
int                 idmef_data_new_char_string_dup      (idmef_data_t **data,
                                                         const char *ptr);
int                 idmef_data_new_char_string_nodup    (idmef_data_t **data,
                                                         char *ptr);
int                 idmef_data_set_char_string_ref      (idmef_data_t *data,
                                                         const char *ptr);
int                 idmef_data_set_char_string_dup      (idmef_data_t *data,
                                                         const char *ptr);
int                 idmef_data_set_char_string_nodup    (idmef_data_t *data,
                                                         char *ptr);
#define             idmef_data_set_char_string_constant (string, str)
int                 idmef_data_new_byte_string_ref      (idmef_data_t **data,
                                                         unsigned char *ptr,
                                                         size_t len);
int                 idmef_data_new_byte_string_dup      (idmef_data_t **data,
                                                         unsigned char *ptr,
                                                         size_t len);
int                 idmef_data_new_byte_string_nodup    (idmef_data_t **data,
                                                         unsigned char *ptr,
                                                         size_t len);
int                 idmef_data_set_byte_string_ref      (idmef_data_t *data,
                                                         unsigned char *ptr,
                                                         size_t len);
int                 idmef_data_set_byte_string_dup      (idmef_data_t *data,
                                                         unsigned char *ptr,
                                                         size_t len);
int                 idmef_data_set_byte_string_nodup    (idmef_data_t *data,
                                                         unsigned char *ptr,
                                                         size_t len);
void                idmef_data_destroy                  (idmef_data_t *data);
int                 idmef_data_copy_ref                 (const idmef_data_t *src,
                                                         idmef_data_t *dst);
int                 idmef_data_copy_dup                 (const idmef_data_t *src,
                                                         idmef_data_t *dst);
int                 idmef_data_clone                    (const idmef_data_t *src,
                                                         idmef_data_t **dst);
idmef_data_type_t   idmef_data_get_type                 (const idmef_data_t *data);
size_t              idmef_data_get_len                  (const idmef_data_t *data);
const void *        idmef_data_get_data                 (const idmef_data_t *data);
char                idmef_data_get_char                 (const idmef_data_t *data);
uint8_t             idmef_data_get_byte                 (const idmef_data_t *data);
uint32_t            idmef_data_get_uint32               ();
float               idmef_data_get_float                (const idmef_data_t *data);
const char *        idmef_data_get_char_string          (const idmef_data_t *data);
const unsigned char * idmef_data_get_byte_string        (const idmef_data_t *data);
prelude_bool_t      idmef_data_is_empty                 (const idmef_data_t *data);
int                 idmef_data_to_string                (const idmef_data_t *data,
                                                         prelude_string_t *out);
void                idmef_data_destroy_internal         (idmef_data_t *data);

Description

Details

enum idmef_data_type_t

typedef enum {
        IDMEF_DATA_TYPE_UNKNOWN      = 0,
        IDMEF_DATA_TYPE_CHAR         = 1,
        IDMEF_DATA_TYPE_BYTE         = 2,
        IDMEF_DATA_TYPE_UINT32       = 3,
        IDMEF_DATA_TYPE_UINT64       = 4,
        IDMEF_DATA_TYPE_INT          = 4,
        IDMEF_DATA_TYPE_FLOAT        = 5,
        IDMEF_DATA_TYPE_CHAR_STRING  = 6,
        IDMEF_DATA_TYPE_BYTE_STRING  = 7,
        IDMEF_DATA_TYPE_TIME         = 8
} idmef_data_type_t;


data

typedef struct {
        int refcount;

        int flags;
        idmef_data_type_t type;
        size_t len;

        union {
                char char_data;
                uint8_t byte_data;
                int64_t int_data;
                float float_data;
                void *rw_data;
                const void *ro_data;
} data;


idmef_data_new ()

int                 idmef_data_new                      (idmef_data_t **data);

data :

Returns :


idmef_data_ref ()

idmef_data_t *      idmef_data_ref                      (idmef_data_t *data);

data :

Returns :


idmef_data_new_char ()

int                 idmef_data_new_char                 (idmef_data_t **data,
                                                         char c);

data :

c :

Returns :


idmef_data_new_byte ()

int                 idmef_data_new_byte                 (idmef_data_t **data,
                                                         uint8_t i);

data :

i :

Returns :


idmef_data_new_uint32 ()

int                 idmef_data_new_uint32               (idmef_data_t **data);

data :

Returns :


idmef_data_new_float ()

int                 idmef_data_new_float                (idmef_data_t **data,
                                                         float f);

data :

f :

Returns :


idmef_data_set_char ()

void                idmef_data_set_char                 (idmef_data_t *data,
                                                         char c);

data :

c :


idmef_data_set_byte ()

void                idmef_data_set_byte                 (idmef_data_t *data,
                                                         uint8_t i);

data :

i :


idmef_data_set_uint32 ()

void                idmef_data_set_uint32               (idmef_data_t *data);

data :


idmef_data_set_float ()

void                idmef_data_set_float                (idmef_data_t *data,
                                                         float f);

data :

f :


idmef_data_set_ptr_dup_fast ()

int                 idmef_data_set_ptr_dup_fast         (idmef_data_t *data,
                                                         idmef_data_type_t type,
                                                         const void *ptr,
                                                         size_t len);

data :

type :

ptr :

len :

Returns :


idmef_data_set_ptr_ref_fast ()

int                 idmef_data_set_ptr_ref_fast         (idmef_data_t *data,
                                                         idmef_data_type_t type,
                                                         const void *ptr,
                                                         size_t len);

data :

type :

ptr :

len :

Returns :


idmef_data_set_ptr_nodup_fast ()

int                 idmef_data_set_ptr_nodup_fast       (idmef_data_t *data,
                                                         idmef_data_type_t type,
                                                         void *ptr,
                                                         size_t len);

data :

type :

ptr :

len :

Returns :


idmef_data_new_ptr_dup_fast ()

int                 idmef_data_new_ptr_dup_fast         (idmef_data_t **data,
                                                         idmef_data_type_t type,
                                                         const void *ptr,
                                                         size_t len);

data :

type :

ptr :

len :

Returns :


idmef_data_new_ptr_ref_fast ()

int                 idmef_data_new_ptr_ref_fast         (idmef_data_t **data,
                                                         idmef_data_type_t type,
                                                         const void *ptr,
                                                         size_t len);

data :

type :

ptr :

len :

Returns :


idmef_data_new_ptr_nodup_fast ()

int                 idmef_data_new_ptr_nodup_fast       (idmef_data_t **data,
                                                         idmef_data_type_t type,
                                                         void *ptr,
                                                         size_t len);

data :

type :

ptr :

len :

Returns :


idmef_data_set_char_string_dup_fast ()

int                 idmef_data_set_char_string_dup_fast (idmef_data_t *data,
                                                         const char *str,
                                                         size_t len);

data :

str :

len :

Returns :


idmef_data_new_char_string_dup_fast ()

int                 idmef_data_new_char_string_dup_fast (idmef_data_t **data,
                                                         const char *str,
                                                         size_t len);

data :

str :

len :

Returns :


idmef_data_new_char_string_ref_fast ()

int                 idmef_data_new_char_string_ref_fast (idmef_data_t **data,
                                                         const char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_new_char_string_nodup_fast ()

int                 idmef_data_new_char_string_nodup_fast
                                                        (idmef_data_t **data,
                                                         char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_set_char_string_ref_fast ()

int                 idmef_data_set_char_string_ref_fast (idmef_data_t *data,
                                                         const char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_set_char_string_nodup_fast ()

int                 idmef_data_set_char_string_nodup_fast
                                                        (idmef_data_t *data,
                                                         char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_new_char_string_ref ()

int                 idmef_data_new_char_string_ref      (idmef_data_t **data,
                                                         const char *ptr);

data :

ptr :

Returns :


idmef_data_new_char_string_dup ()

int                 idmef_data_new_char_string_dup      (idmef_data_t **data,
                                                         const char *ptr);

data :

ptr :

Returns :


idmef_data_new_char_string_nodup ()

int                 idmef_data_new_char_string_nodup    (idmef_data_t **data,
                                                         char *ptr);

data :

ptr :

Returns :


idmef_data_set_char_string_ref ()

int                 idmef_data_set_char_string_ref      (idmef_data_t *data,
                                                         const char *ptr);

data :

ptr :

Returns :


idmef_data_set_char_string_dup ()

int                 idmef_data_set_char_string_dup      (idmef_data_t *data,
                                                         const char *ptr);

data :

ptr :

Returns :


idmef_data_set_char_string_nodup ()

int                 idmef_data_set_char_string_nodup    (idmef_data_t *data,
                                                         char *ptr);

data :

ptr :

Returns :


idmef_data_set_char_string_constant()

#define             idmef_data_set_char_string_constant(string, str)

string :

str :


idmef_data_new_byte_string_ref ()

int                 idmef_data_new_byte_string_ref      (idmef_data_t **data,
                                                         unsigned char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_new_byte_string_dup ()

int                 idmef_data_new_byte_string_dup      (idmef_data_t **data,
                                                         unsigned char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_new_byte_string_nodup ()

int                 idmef_data_new_byte_string_nodup    (idmef_data_t **data,
                                                         unsigned char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_set_byte_string_ref ()

int                 idmef_data_set_byte_string_ref      (idmef_data_t *data,
                                                         unsigned char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_set_byte_string_dup ()

int                 idmef_data_set_byte_string_dup      (idmef_data_t *data,
                                                         unsigned char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_set_byte_string_nodup ()

int                 idmef_data_set_byte_string_nodup    (idmef_data_t *data,
                                                         unsigned char *ptr,
                                                         size_t len);

data :

ptr :

len :

Returns :


idmef_data_destroy ()

void                idmef_data_destroy                  (idmef_data_t *data);

Frees data. The buffer pointed by data will be freed if the data object is marked as _dup or _nodup.

data :

Pointer to an idmef_data_t object.

idmef_data_copy_ref ()

int                 idmef_data_copy_ref                 (const idmef_data_t *src,
                                                         idmef_data_t *dst);

Makes dst reference the same buffer as src.

src :

Source idmef_data_t object.

dst :

Destination idmef_data_t object.

Returns :

0 on success, a negative value if an error occured.

idmef_data_copy_dup ()

int                 idmef_data_copy_dup                 (const idmef_data_t *src,
                                                         idmef_data_t *dst);

Copies src to dst, including the associated buffer. This is an alternative to idmef_data_clone().

src :

Source idmef_data_t object.

dst :

Destination idmef_data_t object.

Returns :

0 on success, a negative value if an error occured.

idmef_data_clone ()

int                 idmef_data_clone                    (const idmef_data_t *src,
                                                         idmef_data_t **dst);

src :

dst :

Returns :


idmef_data_get_type ()

idmef_data_type_t   idmef_data_get_type                 (const idmef_data_t *data);

data :

Pointer to an idmef_data_t object.

Returns :

the type of the embedded data.

idmef_data_get_len ()

size_t              idmef_data_get_len                  (const idmef_data_t *data);

data :

Pointer to an idmef_data_t object.

Returns :

the length of data contained within data object.

idmef_data_get_data ()

const void *        idmef_data_get_data                 (const idmef_data_t *data);

data :

Pointer to an idmef_data_t object.

Returns :

the data contained within data object.

idmef_data_get_char ()

char                idmef_data_get_char                 (const idmef_data_t *data);

data :

Returns :


idmef_data_get_byte ()

uint8_t             idmef_data_get_byte                 (const idmef_data_t *data);

data :

Returns :


idmef_data_get_uint32 ()

uint32_t            idmef_data_get_uint32               ();

Returns :


idmef_data_get_float ()

float               idmef_data_get_float                (const idmef_data_t *data);

data :

Returns :


idmef_data_get_char_string ()

const char *        idmef_data_get_char_string          (const idmef_data_t *data);

data :

Returns :


idmef_data_get_byte_string ()

const unsigned char * idmef_data_get_byte_string        (const idmef_data_t *data);

data :

Returns :


idmef_data_is_empty ()

prelude_bool_t      idmef_data_is_empty                 (const idmef_data_t *data);

data :

Pointer to an idmef_data_t object.

Returns :

TRUE if empty, FALSE otherwise.

idmef_data_to_string ()

int                 idmef_data_to_string                (const idmef_data_t *data,
                                                         prelude_string_t *out);

Formats data contained within data to be printable, and stores the result in the provided out buffer.

data :

Pointer to an idmef_data_t object.

out :

Pointer to a prelude_string_t to store the formated data into.

Returns :

0 on success, a negative value if an error occured.

idmef_data_destroy_internal ()

void                idmef_data_destroy_internal         (idmef_data_t *data);

data :