## idmef-data

idmef-data

## Functions

int | idmef_data_new ()
idmef_data_t * | idmef_data_ref ()
int | idmef_data_new_char ()
int | idmef_data_new_byte ()
int | idmef_data_new_uint32 ()
int | idmef_data_new_uint64 ()
int | idmef_data_new_float ()
void | idmef_data_set_char ()
void | idmef_data_set_byte ()
void | idmef_data_set_uint32 ()
void | idmef_data_set_uint64 ()
void | idmef_data_set_float ()
int | idmef_data_set_ptr_dup_fast ()
int | idmef_data_set_ptr_ref_fast ()
int | idmef_data_set_ptr_nodup_fast ()
int | idmef_data_new_ptr_dup_fast ()
int | idmef_data_new_ptr_ref_fast ()
int | idmef_data_new_ptr_nodup_fast ()
int | idmef_data_set_char_string_dup_fast ()
int | idmef_data_new_char_string_dup_fast ()
int | idmef_data_new_char_string_ref_fast ()
int | idmef_data_new_char_string_nodup_fast ()
int | idmef_data_set_char_string_ref_fast ()
int | idmef_data_set_char_string_nodup_fast ()
int | idmef_data_new_char_string_ref ()
int | idmef_data_new_char_string_dup ()
int | idmef_data_new_char_string_nodup ()
int | idmef_data_set_char_string_ref ()
int | idmef_data_set_char_string_dup ()
int | idmef_data_set_char_string_nodup ()
#define | idmef_data_set_char_string_constant()
int | idmef_data_new_byte_string_ref ()
int | idmef_data_new_byte_string_dup ()
int | idmef_data_new_byte_string_nodup ()
int | idmef_data_set_byte_string_ref ()
int | idmef_data_set_byte_string_dup ()
int | idmef_data_set_byte_string_nodup ()
void | idmef_data_destroy ()
int | idmef_data_copy_ref ()
int | idmef_data_copy_dup ()
int | idmef_data_clone ()
idmef_data_type_t | idmef_data_get_type ()
size_t | idmef_data_get_len ()
const void * | idmef_data_get_data ()
char | idmef_data_get_char ()
uint8_t | idmef_data_get_byte ()
uint32_t | idmef_data_get_uint32 ()
uint64_t | idmef_data_get_uint64 ()
float | idmef_data_get_float ()
const char * | idmef_data_get_char_string ()
const unsigned char * | idmef_data_get_byte_string ()
prelude_bool_t | idmef_data_is_empty ()
int | idmef_data_to_string ()
void | idmef_data_destroy_internal ()

## Types and Values

enum | idmef_data_type_t

## Description

## Functions

### idmef_data_new ()

    int
    idmef_data_new (idmef_data_t **data);

### idmef_data_ref ()

    idmef_data_t *
    idmef_data_ref (idmef_data_t *data);

### idmef_data_new_char ()

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

### idmef_data_new_byte ()

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

### idmef_data_new_uint32 ()

    int
    idmef_data_new_uint32 (idmef_data_t **data,
                           uint32_t i);

`idmef_data_new_uint32` is deprecated and should not be used in newly-written code.

### idmef_data_new_uint64 ()

    int
    idmef_data_new_uint64 (idmef_data_t **data,
                           uint64_t i);

`idmef_data_new_uint64` is deprecated and should not be used in newly-written code.

### idmef_data_new_float ()

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

### idmef_data_set_char ()

    void
    idmef_data_set_char (idmef_data_t *data,
                         char c);

### idmef_data_set_byte ()

    void
    idmef_data_set_byte (idmef_data_t *data,
                         uint8_t i);

### idmef_data_set_uint32 ()

    void
    idmef_data_set_uint32 (idmef_data_t *data,
                           uint32_t i);

`idmef_data_set_uint32` is deprecated and should not be used in newly-written code.

### idmef_data_set_uint64 ()

    void
    idmef_data_set_uint64 (idmef_data_t *data,
                           uint64_t i);

`idmef_data_set_uint64` is deprecated and should not be used in newly-written code.

### idmef_data_set_float ()

    void
    idmef_data_set_float (idmef_data_t *data,
                          float 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);

### 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);

### 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);

### 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);

### 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);

### 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);

### 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);

### 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);

### 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);

### idmef_data_new_char_string_nodup_fast ()

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

### 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);

### idmef_data_set_char_string_nodup_fast ()

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

### idmef_data_new_char_string_ref ()

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

### idmef_data_new_char_string_dup ()

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

### idmef_data_new_char_string_nodup ()

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

### idmef_data_set_char_string_ref ()

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

### idmef_data_set_char_string_dup ()

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

### idmef_data_set_char_string_nodup ()

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

### idmef_data_set_char_string_constant()

    #define             idmef_data_set_char_string_constant(string, str)

### idmef_data_new_byte_string_ref ()

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

### idmef_data_new_byte_string_dup ()

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

### idmef_data_new_byte_string_nodup ()

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

### idmef_data_set_byte_string_ref ()

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

### idmef_data_set_byte_string_dup ()

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

### idmef_data_set_byte_string_nodup ()

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

### 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.

#### Parameters

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` .

#### Parameters

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()`.

#### Parameters

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);

### idmef_data_get_type ()

    idmef_data_type_t
    idmef_data_get_type (const idmef_data_t *data);

#### Parameters

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);

#### Parameters

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);

#### Parameters

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);

### idmef_data_get_byte ()

    uint8_t
    idmef_data_get_byte (const idmef_data_t *data);

### idmef_data_get_uint32 ()

    uint32_t
    idmef_data_get_uint32 (const idmef_data_t *data);

`idmef_data_get_uint32` is deprecated and should not be used in newly-written code.

### idmef_data_get_uint64 ()

    uint64_t
    idmef_data_get_uint64 (const idmef_data_t *data);

`idmef_data_get_uint64` is deprecated and should not be used in newly-written code.

### idmef_data_get_float ()

    float
    idmef_data_get_float (const idmef_data_t *data);

### idmef_data_get_char_string ()

    const char *
    idmef_data_get_char_string (const idmef_data_t *data);

### idmef_data_get_byte_string ()

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

### idmef_data_is_empty ()

    prelude_bool_t
    idmef_data_is_empty (const idmef_data_t *data);

#### Parameters

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.

#### Parameters

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);

## Types and Values

### enum idmef_data_type_t

#### Members

IDMEF_DATA_TYPE_UNKNOWN |  |
IDMEF_DATA_TYPE_CHAR |  |
IDMEF_DATA_TYPE_BYTE |  |
IDMEF_DATA_TYPE_UINT32 |  |
IDMEF_DATA_TYPE_UINT64 |  |
IDMEF_DATA_TYPE_INT |  |
IDMEF_DATA_TYPE_FLOAT |  |
IDMEF_DATA_TYPE_CHAR_STRING |  |
IDMEF_DATA_TYPE_BYTE_STRING |  |
IDMEF_DATA_TYPE_TIME |  |