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,
                                             uint32_t i);
int         idmef_data_new_uint64           (idmef_data_t **data,
                                             uint64_t i);
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,
                                             uint32_t i);
void        idmef_data_set_uint64           (idmef_data_t *data,
                                             uint64_t i);
void        idmef_data_set_float            (idmef_data_t *data,
                                             float f);
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_dup_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_ptr_ref_fast     (idmef_data_t *data,
                                             idmef_data_type_t type,
                                             const void *ptr,
                                             size_t len);
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_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           (const idmef_data_t *data);
uint64_t    idmef_data_get_uint64           (const idmef_data_t *data);
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_FLOAT        = 5,
	IDMEF_DATA_TYPE_CHAR_STRING  = 6,
	IDMEF_DATA_TYPE_BYTE_STRING  = 7
} 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;
		uint32_t uint32_data;
		uint64_t uint64_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,
                                             uint32_t i);

data :
i :
Returns :

idmef_data_new_uint64 ()

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

data :
i :
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,
                                             uint32_t i);

data :
i :

idmef_data_set_uint64 ()

void        idmef_data_set_uint64           (idmef_data_t *data,
                                             uint64_t i);

data :
i :

idmef_data_set_float ()

void        idmef_data_set_float            (idmef_data_t *data,
                                             float f);

data :
f :

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_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_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_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_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_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_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           (const idmef_data_t *data);

data :
Returns :

idmef_data_get_uint64 ()

uint64_t    idmef_data_get_uint64           (const idmef_data_t *data);

data :
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 :