## idmef-tree-wrap

idmef-tree-wrap

## Functions

int | idmef_message_get_data ()
int | idmef_message_get_number ()
int | idmef_message_get_string ()
int | idmef_message_get_value ()
int | idmef_message_set_data ()
int | idmef_message_set_number ()
int | idmef_message_set_string ()
int | idmef_message_set_value ()
idmef_additional_data_type_t | idmef_additional_data_type_to_numeric ()
const char * | idmef_additional_data_type_to_string ()
int | idmef_additional_data_new ()
int | idmef_additional_data_copy ()
int | idmef_additional_data_clone ()
idmef_additional_data_t * | idmef_additional_data_ref ()
void | idmef_additional_data_destroy ()
idmef_additional_data_type_t | idmef_additional_data_get_type ()
void | idmef_additional_data_set_type ()
int | idmef_additional_data_new_type ()
prelude_string_t * | idmef_additional_data_get_meaning ()
void | idmef_additional_data_set_meaning ()
int | idmef_additional_data_new_meaning ()
idmef_data_t * | idmef_additional_data_get_data ()
void | idmef_additional_data_set_data ()
int | idmef_additional_data_new_data ()
idmef_reference_origin_t | idmef_reference_origin_to_numeric ()
const char * | idmef_reference_origin_to_string ()
int | idmef_reference_new ()
int | idmef_reference_copy ()
int | idmef_reference_clone ()
idmef_reference_t * | idmef_reference_ref ()
void | idmef_reference_destroy ()
idmef_reference_origin_t | idmef_reference_get_origin ()
void | idmef_reference_set_origin ()
int | idmef_reference_new_origin ()
prelude_string_t * | idmef_reference_get_name ()
void | idmef_reference_set_name ()
int | idmef_reference_new_name ()
prelude_string_t * | idmef_reference_get_url ()
void | idmef_reference_set_url ()
int | idmef_reference_new_url ()
prelude_string_t * | idmef_reference_get_meaning ()
void | idmef_reference_set_meaning ()
int | idmef_reference_new_meaning ()
int | idmef_classification_new ()
int | idmef_classification_copy ()
int | idmef_classification_clone ()
idmef_classification_t * | idmef_classification_ref ()
void | idmef_classification_destroy ()
prelude_string_t * | idmef_classification_get_ident ()
void | idmef_classification_set_ident ()
int | idmef_classification_new_ident ()
prelude_string_t * | idmef_classification_get_text ()
void | idmef_classification_set_text ()
int | idmef_classification_new_text ()
idmef_reference_t * | idmef_classification_get_next_reference ()
void | idmef_classification_set_reference ()
int | idmef_classification_new_reference ()
idmef_user_id_type_t | idmef_user_id_type_to_numeric ()
const char * | idmef_user_id_type_to_string ()
int | idmef_user_id_new ()
int | idmef_user_id_copy ()
int | idmef_user_id_clone ()
idmef_user_id_t * | idmef_user_id_ref ()
void | idmef_user_id_destroy ()
prelude_string_t * | idmef_user_id_get_ident ()
void | idmef_user_id_set_ident ()
int | idmef_user_id_new_ident ()
idmef_user_id_type_t | idmef_user_id_get_type ()
void | idmef_user_id_set_type ()
int | idmef_user_id_new_type ()
prelude_string_t * | idmef_user_id_get_tty ()
void | idmef_user_id_set_tty ()
int | idmef_user_id_new_tty ()
prelude_string_t * | idmef_user_id_get_name ()
void | idmef_user_id_set_name ()
int | idmef_user_id_new_name ()
void | idmef_user_id_unset_number ()
uint32_t * | idmef_user_id_get_number ()
void | idmef_user_id_set_number ()
int | idmef_user_id_new_number ()
idmef_user_category_t | idmef_user_category_to_numeric ()
const char * | idmef_user_category_to_string ()
int | idmef_user_new ()
int | idmef_user_copy ()
int | idmef_user_clone ()
idmef_user_t * | idmef_user_ref ()
void | idmef_user_destroy ()
prelude_string_t * | idmef_user_get_ident ()
void | idmef_user_set_ident ()
int | idmef_user_new_ident ()
idmef_user_category_t | idmef_user_get_category ()
void | idmef_user_set_category ()
int | idmef_user_new_category ()
idmef_user_id_t * | idmef_user_get_next_user_id ()
void | idmef_user_set_user_id ()
int | idmef_user_new_user_id ()
idmef_address_category_t | idmef_address_category_to_numeric ()
const char * | idmef_address_category_to_string ()
int | idmef_address_new ()
int | idmef_address_copy ()
int | idmef_address_clone ()
idmef_address_t * | idmef_address_ref ()
void | idmef_address_destroy ()
prelude_string_t * | idmef_address_get_ident ()
void | idmef_address_set_ident ()
int | idmef_address_new_ident ()
idmef_address_category_t | idmef_address_get_category ()
void | idmef_address_set_category ()
int | idmef_address_new_category ()
prelude_string_t * | idmef_address_get_vlan_name ()
void | idmef_address_set_vlan_name ()
int | idmef_address_new_vlan_name ()
void | idmef_address_unset_vlan_num ()
int32_t * | idmef_address_get_vlan_num ()
void | idmef_address_set_vlan_num ()
int | idmef_address_new_vlan_num ()
prelude_string_t * | idmef_address_get_address ()
void | idmef_address_set_address ()
int | idmef_address_new_address ()
prelude_string_t * | idmef_address_get_netmask ()
void | idmef_address_set_netmask ()
int | idmef_address_new_netmask ()
int | idmef_process_new ()
int | idmef_process_copy ()
int | idmef_process_clone ()
idmef_process_t * | idmef_process_ref ()
void | idmef_process_destroy ()
prelude_string_t * | idmef_process_get_ident ()
void | idmef_process_set_ident ()
int | idmef_process_new_ident ()
prelude_string_t * | idmef_process_get_name ()
void | idmef_process_set_name ()
int | idmef_process_new_name ()
void | idmef_process_unset_pid ()
uint32_t * | idmef_process_get_pid ()
void | idmef_process_set_pid ()
int | idmef_process_new_pid ()
prelude_string_t * | idmef_process_get_path ()
void | idmef_process_set_path ()
int | idmef_process_new_path ()
prelude_string_t * | idmef_process_get_next_arg ()
void | idmef_process_set_arg ()
int | idmef_process_new_arg ()
prelude_string_t * | idmef_process_get_next_env ()
void | idmef_process_set_env ()
int | idmef_process_new_env ()
int | idmef_web_service_new ()
int | idmef_web_service_copy ()
int | idmef_web_service_clone ()
idmef_web_service_t * | idmef_web_service_ref ()
void | idmef_web_service_destroy ()
prelude_string_t * | idmef_web_service_get_url ()
void | idmef_web_service_set_url ()
int | idmef_web_service_new_url ()
prelude_string_t * | idmef_web_service_get_cgi ()
void | idmef_web_service_set_cgi ()
int | idmef_web_service_new_cgi ()
prelude_string_t * | idmef_web_service_get_http_method ()
void | idmef_web_service_set_http_method ()
int | idmef_web_service_new_http_method ()
prelude_string_t * | idmef_web_service_get_next_arg ()
void | idmef_web_service_set_arg ()
int | idmef_web_service_new_arg ()
int | idmef_snmp_service_new ()
int | idmef_snmp_service_copy ()
int | idmef_snmp_service_clone ()
idmef_snmp_service_t * | idmef_snmp_service_ref ()
void | idmef_snmp_service_destroy ()
prelude_string_t * | idmef_snmp_service_get_oid ()
void | idmef_snmp_service_set_oid ()
int | idmef_snmp_service_new_oid ()
void | idmef_snmp_service_unset_message_processing_model ()
uint32_t * | idmef_snmp_service_get_message_processing_model ()
void | idmef_snmp_service_set_message_processing_model ()
int | idmef_snmp_service_new_message_processing_model ()
void | idmef_snmp_service_unset_security_model ()
uint32_t * | idmef_snmp_service_get_security_model ()
void | idmef_snmp_service_set_security_model ()
int | idmef_snmp_service_new_security_model ()
prelude_string_t * | idmef_snmp_service_get_security_name ()
void | idmef_snmp_service_set_security_name ()
int | idmef_snmp_service_new_security_name ()
void | idmef_snmp_service_unset_security_level ()
uint32_t * | idmef_snmp_service_get_security_level ()
void | idmef_snmp_service_set_security_level ()
int | idmef_snmp_service_new_security_level ()
prelude_string_t * | idmef_snmp_service_get_context_name ()
void | idmef_snmp_service_set_context_name ()
int | idmef_snmp_service_new_context_name ()
prelude_string_t * | idmef_snmp_service_get_context_engine_id ()
void | idmef_snmp_service_set_context_engine_id ()
int | idmef_snmp_service_new_context_engine_id ()
prelude_string_t * | idmef_snmp_service_get_command ()
void | idmef_snmp_service_set_command ()
int | idmef_snmp_service_new_command ()
idmef_service_type_t | idmef_service_type_to_numeric ()
const char * | idmef_service_type_to_string ()
int | idmef_service_new ()
int | idmef_service_copy ()
int | idmef_service_clone ()
idmef_service_t * | idmef_service_ref ()
void | idmef_service_destroy ()
prelude_string_t * | idmef_service_get_ident ()
void | idmef_service_set_ident ()
int | idmef_service_new_ident ()
void | idmef_service_unset_ip_version ()
uint8_t * | idmef_service_get_ip_version ()
void | idmef_service_set_ip_version ()
int | idmef_service_new_ip_version ()
void | idmef_service_unset_iana_protocol_number ()
uint8_t * | idmef_service_get_iana_protocol_number ()
void | idmef_service_set_iana_protocol_number ()
int | idmef_service_new_iana_protocol_number ()
prelude_string_t * | idmef_service_get_iana_protocol_name ()
void | idmef_service_set_iana_protocol_name ()
int | idmef_service_new_iana_protocol_name ()
prelude_string_t * | idmef_service_get_name ()
void | idmef_service_set_name ()
int | idmef_service_new_name ()
void | idmef_service_unset_port ()
uint16_t * | idmef_service_get_port ()
void | idmef_service_set_port ()
int | idmef_service_new_port ()
prelude_string_t * | idmef_service_get_portlist ()
void | idmef_service_set_portlist ()
int | idmef_service_new_portlist ()
prelude_string_t * | idmef_service_get_protocol ()
void | idmef_service_set_protocol ()
int | idmef_service_new_protocol ()
idmef_service_type_t | idmef_service_get_type ()
idmef_web_service_t * | idmef_service_get_web_service ()
void | idmef_service_set_web_service ()
int | idmef_service_new_web_service ()
idmef_snmp_service_t * | idmef_service_get_snmp_service ()
void | idmef_service_set_snmp_service ()
int | idmef_service_new_snmp_service ()
idmef_node_category_t | idmef_node_category_to_numeric ()
const char * | idmef_node_category_to_string ()
int | idmef_node_new ()
int | idmef_node_copy ()
int | idmef_node_clone ()
idmef_node_t * | idmef_node_ref ()
void | idmef_node_destroy ()
prelude_string_t * | idmef_node_get_ident ()
void | idmef_node_set_ident ()
int | idmef_node_new_ident ()
idmef_node_category_t | idmef_node_get_category ()
void | idmef_node_set_category ()
int | idmef_node_new_category ()
prelude_string_t * | idmef_node_get_location ()
void | idmef_node_set_location ()
int | idmef_node_new_location ()
prelude_string_t * | idmef_node_get_name ()
void | idmef_node_set_name ()
int | idmef_node_new_name ()
idmef_address_t * | idmef_node_get_next_address ()
void | idmef_node_set_address ()
int | idmef_node_new_address ()
idmef_source_spoofed_t | idmef_source_spoofed_to_numeric ()
const char * | idmef_source_spoofed_to_string ()
int | idmef_source_new ()
int | idmef_source_copy ()
int | idmef_source_clone ()
idmef_source_t * | idmef_source_ref ()
void | idmef_source_destroy ()
prelude_string_t * | idmef_source_get_ident ()
void | idmef_source_set_ident ()
int | idmef_source_new_ident ()
idmef_source_spoofed_t | idmef_source_get_spoofed ()
void | idmef_source_set_spoofed ()
int | idmef_source_new_spoofed ()
prelude_string_t * | idmef_source_get_interface ()
void | idmef_source_set_interface ()
int | idmef_source_new_interface ()
idmef_node_t * | idmef_source_get_node ()
void | idmef_source_set_node ()
int | idmef_source_new_node ()
idmef_user_t * | idmef_source_get_user ()
void | idmef_source_set_user ()
int | idmef_source_new_user ()
idmef_process_t * | idmef_source_get_process ()
void | idmef_source_set_process ()
int | idmef_source_new_process ()
idmef_service_t * | idmef_source_get_service ()
void | idmef_source_set_service ()
int | idmef_source_new_service ()
int | idmef_file_access_new ()
int | idmef_file_access_copy ()
int | idmef_file_access_clone ()
idmef_file_access_t * | idmef_file_access_ref ()
void | idmef_file_access_destroy ()
idmef_user_id_t * | idmef_file_access_get_user_id ()
void | idmef_file_access_set_user_id ()
int | idmef_file_access_new_user_id ()
prelude_string_t * | idmef_file_access_get_next_permission ()
void | idmef_file_access_set_permission ()
int | idmef_file_access_new_permission ()
int | idmef_inode_new ()
int | idmef_inode_copy ()
int | idmef_inode_clone ()
idmef_inode_t * | idmef_inode_ref ()
void | idmef_inode_destroy ()
idmef_time_t * | idmef_inode_get_change_time ()
void | idmef_inode_set_change_time ()
int | idmef_inode_new_change_time ()
void | idmef_inode_unset_number ()
uint32_t * | idmef_inode_get_number ()
void | idmef_inode_set_number ()
int | idmef_inode_new_number ()
void | idmef_inode_unset_major_device ()
uint32_t * | idmef_inode_get_major_device ()
void | idmef_inode_set_major_device ()
int | idmef_inode_new_major_device ()
void | idmef_inode_unset_minor_device ()
uint32_t * | idmef_inode_get_minor_device ()
void | idmef_inode_set_minor_device ()
int | idmef_inode_new_minor_device ()
void | idmef_inode_unset_c_major_device ()
uint32_t * | idmef_inode_get_c_major_device ()
void | idmef_inode_set_c_major_device ()
int | idmef_inode_new_c_major_device ()
void | idmef_inode_unset_c_minor_device ()
uint32_t * | idmef_inode_get_c_minor_device ()
void | idmef_inode_set_c_minor_device ()
int | idmef_inode_new_c_minor_device ()
idmef_checksum_algorithm_t | idmef_checksum_algorithm_to_numeric ()
const char * | idmef_checksum_algorithm_to_string ()
int | idmef_checksum_new ()
int | idmef_checksum_copy ()
int | idmef_checksum_clone ()
idmef_checksum_t * | idmef_checksum_ref ()
void | idmef_checksum_destroy ()
prelude_string_t * | idmef_checksum_get_value ()
void | idmef_checksum_set_value ()
int | idmef_checksum_new_value ()
prelude_string_t * | idmef_checksum_get_key ()
void | idmef_checksum_set_key ()
int | idmef_checksum_new_key ()
idmef_checksum_algorithm_t | idmef_checksum_get_algorithm ()
void | idmef_checksum_set_algorithm ()
int | idmef_checksum_new_algorithm ()
idmef_file_category_t | idmef_file_category_to_numeric ()
const char * | idmef_file_category_to_string ()
idmef_file_fstype_t | idmef_file_fstype_to_numeric ()
const char * | idmef_file_fstype_to_string ()
int | idmef_file_new ()
int | idmef_file_copy ()
int | idmef_file_clone ()
idmef_file_t * | idmef_file_ref ()
void | idmef_file_destroy ()
prelude_string_t * | idmef_file_get_ident ()
void | idmef_file_set_ident ()
int | idmef_file_new_ident ()
prelude_string_t * | idmef_file_get_name ()
void | idmef_file_set_name ()
int | idmef_file_new_name ()
prelude_string_t * | idmef_file_get_path ()
void | idmef_file_set_path ()
int | idmef_file_new_path ()
idmef_time_t * | idmef_file_get_create_time ()
void | idmef_file_set_create_time ()
int | idmef_file_new_create_time ()
idmef_time_t * | idmef_file_get_modify_time ()
void | idmef_file_set_modify_time ()
int | idmef_file_new_modify_time ()
idmef_time_t * | idmef_file_get_access_time ()
void | idmef_file_set_access_time ()
int | idmef_file_new_access_time ()
void | idmef_file_unset_data_size ()
uint64_t * | idmef_file_get_data_size ()
void | idmef_file_set_data_size ()
int | idmef_file_new_data_size ()
void | idmef_file_unset_disk_size ()
uint64_t * | idmef_file_get_disk_size ()
void | idmef_file_set_disk_size ()
int | idmef_file_new_disk_size ()
idmef_file_access_t * | idmef_file_get_next_file_access ()
void | idmef_file_set_file_access ()
int | idmef_file_new_file_access ()
idmef_linkage_t * | idmef_file_get_next_linkage ()
void | idmef_file_set_linkage ()
int | idmef_file_new_linkage ()
idmef_inode_t * | idmef_file_get_inode ()
void | idmef_file_set_inode ()
int | idmef_file_new_inode ()
idmef_checksum_t * | idmef_file_get_next_checksum ()
void | idmef_file_set_checksum ()
int | idmef_file_new_checksum ()
idmef_file_category_t | idmef_file_get_category ()
void | idmef_file_set_category ()
int | idmef_file_new_category ()
void | idmef_file_unset_fstype ()
idmef_file_fstype_t * | idmef_file_get_fstype ()
void | idmef_file_set_fstype ()
int | idmef_file_new_fstype ()
prelude_string_t * | idmef_file_get_file_type ()
void | idmef_file_set_file_type ()
int | idmef_file_new_file_type ()
idmef_linkage_category_t | idmef_linkage_category_to_numeric ()
const char * | idmef_linkage_category_to_string ()
int | idmef_linkage_new ()
int | idmef_linkage_copy ()
int | idmef_linkage_clone ()
idmef_linkage_t * | idmef_linkage_ref ()
void | idmef_linkage_destroy ()
idmef_linkage_category_t | idmef_linkage_get_category ()
void | idmef_linkage_set_category ()
int | idmef_linkage_new_category ()
prelude_string_t * | idmef_linkage_get_name ()
void | idmef_linkage_set_name ()
int | idmef_linkage_new_name ()
prelude_string_t * | idmef_linkage_get_path ()
void | idmef_linkage_set_path ()
int | idmef_linkage_new_path ()
idmef_file_t * | idmef_linkage_get_file ()
void | idmef_linkage_set_file ()
int | idmef_linkage_new_file ()
idmef_target_decoy_t | idmef_target_decoy_to_numeric ()
const char * | idmef_target_decoy_to_string ()
int | idmef_target_new ()
int | idmef_target_copy ()
int | idmef_target_clone ()
idmef_target_t * | idmef_target_ref ()
void | idmef_target_destroy ()
prelude_string_t * | idmef_target_get_ident ()
void | idmef_target_set_ident ()
int | idmef_target_new_ident ()
idmef_target_decoy_t | idmef_target_get_decoy ()
void | idmef_target_set_decoy ()
int | idmef_target_new_decoy ()
prelude_string_t * | idmef_target_get_interface ()
void | idmef_target_set_interface ()
int | idmef_target_new_interface ()
idmef_node_t * | idmef_target_get_node ()
void | idmef_target_set_node ()
int | idmef_target_new_node ()
idmef_user_t * | idmef_target_get_user ()
void | idmef_target_set_user ()
int | idmef_target_new_user ()
idmef_process_t * | idmef_target_get_process ()
void | idmef_target_set_process ()
int | idmef_target_new_process ()
idmef_service_t * | idmef_target_get_service ()
void | idmef_target_set_service ()
int | idmef_target_new_service ()
idmef_file_t * | idmef_target_get_next_file ()
void | idmef_target_set_file ()
int | idmef_target_new_file ()
int | idmef_analyzer_new ()
int | idmef_analyzer_copy ()
int | idmef_analyzer_clone ()
idmef_analyzer_t * | idmef_analyzer_ref ()
void | idmef_analyzer_destroy ()
prelude_string_t * | idmef_analyzer_get_analyzerid ()
void | idmef_analyzer_set_analyzerid ()
int | idmef_analyzer_new_analyzerid ()
prelude_string_t * | idmef_analyzer_get_name ()
void | idmef_analyzer_set_name ()
int | idmef_analyzer_new_name ()
prelude_string_t * | idmef_analyzer_get_manufacturer ()
void | idmef_analyzer_set_manufacturer ()
int | idmef_analyzer_new_manufacturer ()
prelude_string_t * | idmef_analyzer_get_model ()
void | idmef_analyzer_set_model ()
int | idmef_analyzer_new_model ()
prelude_string_t * | idmef_analyzer_get_version ()
void | idmef_analyzer_set_version ()
int | idmef_analyzer_new_version ()
prelude_string_t * | idmef_analyzer_get_class ()
void | idmef_analyzer_set_class ()
int | idmef_analyzer_new_class ()
prelude_string_t * | idmef_analyzer_get_ostype ()
void | idmef_analyzer_set_ostype ()
int | idmef_analyzer_new_ostype ()
prelude_string_t * | idmef_analyzer_get_osversion ()
void | idmef_analyzer_set_osversion ()
int | idmef_analyzer_new_osversion ()
idmef_node_t * | idmef_analyzer_get_node ()
void | idmef_analyzer_set_node ()
int | idmef_analyzer_new_node ()
idmef_process_t * | idmef_analyzer_get_process ()
void | idmef_analyzer_set_process ()
int | idmef_analyzer_new_process ()
int | idmef_alertident_new ()
int | idmef_alertident_copy ()
int | idmef_alertident_clone ()
idmef_alertident_t * | idmef_alertident_ref ()
void | idmef_alertident_destroy ()
prelude_string_t * | idmef_alertident_get_alertident ()
void | idmef_alertident_set_alertident ()
int | idmef_alertident_new_alertident ()
prelude_string_t * | idmef_alertident_get_analyzerid ()
void | idmef_alertident_set_analyzerid ()
int | idmef_alertident_new_analyzerid ()
idmef_impact_severity_t | idmef_impact_severity_to_numeric ()
const char * | idmef_impact_severity_to_string ()
idmef_impact_completion_t | idmef_impact_completion_to_numeric ()
const char * | idmef_impact_completion_to_string ()
idmef_impact_type_t | idmef_impact_type_to_numeric ()
const char * | idmef_impact_type_to_string ()
int | idmef_impact_new ()
int | idmef_impact_copy ()
int | idmef_impact_clone ()
idmef_impact_t * | idmef_impact_ref ()
void | idmef_impact_destroy ()
void | idmef_impact_unset_severity ()
idmef_impact_severity_t * | idmef_impact_get_severity ()
void | idmef_impact_set_severity ()
int | idmef_impact_new_severity ()
void | idmef_impact_unset_completion ()
idmef_impact_completion_t * | idmef_impact_get_completion ()
void | idmef_impact_set_completion ()
int | idmef_impact_new_completion ()
idmef_impact_type_t | idmef_impact_get_type ()
void | idmef_impact_set_type ()
int | idmef_impact_new_type ()
prelude_string_t * | idmef_impact_get_description ()
void | idmef_impact_set_description ()
int | idmef_impact_new_description ()
idmef_action_category_t | idmef_action_category_to_numeric ()
const char * | idmef_action_category_to_string ()
int | idmef_action_new ()
int | idmef_action_copy ()
int | idmef_action_clone ()
idmef_action_t * | idmef_action_ref ()
void | idmef_action_destroy ()
idmef_action_category_t | idmef_action_get_category ()
void | idmef_action_set_category ()
int | idmef_action_new_category ()
prelude_string_t * | idmef_action_get_description ()
void | idmef_action_set_description ()
int | idmef_action_new_description ()
idmef_confidence_rating_t | idmef_confidence_rating_to_numeric ()
const char * | idmef_confidence_rating_to_string ()
int | idmef_confidence_new ()
int | idmef_confidence_copy ()
int | idmef_confidence_clone ()
idmef_confidence_t * | idmef_confidence_ref ()
void | idmef_confidence_destroy ()
idmef_confidence_rating_t | idmef_confidence_get_rating ()
void | idmef_confidence_set_rating ()
int | idmef_confidence_new_rating ()
float | idmef_confidence_get_confidence ()
void | idmef_confidence_set_confidence ()
int | idmef_confidence_new_confidence ()
int | idmef_assessment_new ()
int | idmef_assessment_copy ()
int | idmef_assessment_clone ()
idmef_assessment_t * | idmef_assessment_ref ()
void | idmef_assessment_destroy ()
idmef_impact_t * | idmef_assessment_get_impact ()
void | idmef_assessment_set_impact ()
int | idmef_assessment_new_impact ()
idmef_action_t * | idmef_assessment_get_next_action ()
void | idmef_assessment_set_action ()
int | idmef_assessment_new_action ()
idmef_confidence_t * | idmef_assessment_get_confidence ()
void | idmef_assessment_set_confidence ()
int | idmef_assessment_new_confidence ()
int | idmef_tool_alert_new ()
int | idmef_tool_alert_copy ()
int | idmef_tool_alert_clone ()
idmef_tool_alert_t * | idmef_tool_alert_ref ()
void | idmef_tool_alert_destroy ()
prelude_string_t * | idmef_tool_alert_get_name ()
void | idmef_tool_alert_set_name ()
int | idmef_tool_alert_new_name ()
prelude_string_t * | idmef_tool_alert_get_command ()
void | idmef_tool_alert_set_command ()
int | idmef_tool_alert_new_command ()
idmef_alertident_t * | idmef_tool_alert_get_next_alertident ()
void | idmef_tool_alert_set_alertident ()
int | idmef_tool_alert_new_alertident ()
int | idmef_correlation_alert_new ()
int | idmef_correlation_alert_copy ()
int | idmef_correlation_alert_clone ()
idmef_correlation_alert_t * | idmef_correlation_alert_ref ()
void | idmef_correlation_alert_destroy ()
prelude_string_t * | idmef_correlation_alert_get_name ()
void | idmef_correlation_alert_set_name ()
int | idmef_correlation_alert_new_name ()
idmef_alertident_t * | idmef_correlation_alert_get_next_alertident ()
void | idmef_correlation_alert_set_alertident ()
int | idmef_correlation_alert_new_alertident ()
int | idmef_overflow_alert_new ()
int | idmef_overflow_alert_copy ()
int | idmef_overflow_alert_clone ()
idmef_overflow_alert_t * | idmef_overflow_alert_ref ()
void | idmef_overflow_alert_destroy ()
prelude_string_t * | idmef_overflow_alert_get_program ()
void | idmef_overflow_alert_set_program ()
int | idmef_overflow_alert_new_program ()
void | idmef_overflow_alert_unset_size ()
uint32_t * | idmef_overflow_alert_get_size ()
void | idmef_overflow_alert_set_size ()
int | idmef_overflow_alert_new_size ()
idmef_data_t * | idmef_overflow_alert_get_buffer ()
void | idmef_overflow_alert_set_buffer ()
int | idmef_overflow_alert_new_buffer ()
idmef_alert_type_t | idmef_alert_type_to_numeric ()
const char * | idmef_alert_type_to_string ()
int | idmef_alert_new ()
int | idmef_alert_copy ()
int | idmef_alert_clone ()
idmef_alert_t * | idmef_alert_ref ()
void | idmef_alert_destroy ()
prelude_string_t * | idmef_alert_get_messageid ()
void | idmef_alert_set_messageid ()
int | idmef_alert_new_messageid ()
idmef_analyzer_t * | idmef_alert_get_next_analyzer ()
void | idmef_alert_set_analyzer ()
int | idmef_alert_new_analyzer ()
idmef_time_t * | idmef_alert_get_create_time ()
void | idmef_alert_set_create_time ()
int | idmef_alert_new_create_time ()
idmef_classification_t * | idmef_alert_get_classification ()
void | idmef_alert_set_classification ()
int | idmef_alert_new_classification ()
idmef_time_t * | idmef_alert_get_detect_time ()
void | idmef_alert_set_detect_time ()
int | idmef_alert_new_detect_time ()
idmef_time_t * | idmef_alert_get_analyzer_time ()
void | idmef_alert_set_analyzer_time ()
int | idmef_alert_new_analyzer_time ()
idmef_source_t * | idmef_alert_get_next_source ()
void | idmef_alert_set_source ()
int | idmef_alert_new_source ()
idmef_target_t * | idmef_alert_get_next_target ()
void | idmef_alert_set_target ()
int | idmef_alert_new_target ()
idmef_assessment_t * | idmef_alert_get_assessment ()
void | idmef_alert_set_assessment ()
int | idmef_alert_new_assessment ()
idmef_additional_data_t * | idmef_alert_get_next_additional_data ()
void | idmef_alert_set_additional_data ()
int | idmef_alert_new_additional_data ()
idmef_alert_type_t | idmef_alert_get_type ()
idmef_tool_alert_t * | idmef_alert_get_tool_alert ()
void | idmef_alert_set_tool_alert ()
int | idmef_alert_new_tool_alert ()
idmef_correlation_alert_t * | idmef_alert_get_correlation_alert ()
void | idmef_alert_set_correlation_alert ()
int | idmef_alert_new_correlation_alert ()
idmef_overflow_alert_t * | idmef_alert_get_overflow_alert ()
void | idmef_alert_set_overflow_alert ()
int | idmef_alert_new_overflow_alert ()
int | idmef_heartbeat_new ()
int | idmef_heartbeat_copy ()
int | idmef_heartbeat_clone ()
idmef_heartbeat_t * | idmef_heartbeat_ref ()
void | idmef_heartbeat_destroy ()
prelude_string_t * | idmef_heartbeat_get_messageid ()
void | idmef_heartbeat_set_messageid ()
int | idmef_heartbeat_new_messageid ()
idmef_analyzer_t * | idmef_heartbeat_get_next_analyzer ()
void | idmef_heartbeat_set_analyzer ()
int | idmef_heartbeat_new_analyzer ()
idmef_time_t * | idmef_heartbeat_get_create_time ()
void | idmef_heartbeat_set_create_time ()
int | idmef_heartbeat_new_create_time ()
idmef_time_t * | idmef_heartbeat_get_analyzer_time ()
void | idmef_heartbeat_set_analyzer_time ()
int | idmef_heartbeat_new_analyzer_time ()
void | idmef_heartbeat_unset_heartbeat_interval ()
uint32_t * | idmef_heartbeat_get_heartbeat_interval ()
void | idmef_heartbeat_set_heartbeat_interval ()
int | idmef_heartbeat_new_heartbeat_interval ()
idmef_additional_data_t * | idmef_heartbeat_get_next_additional_data ()
void | idmef_heartbeat_set_additional_data ()
int | idmef_heartbeat_new_additional_data ()
idmef_message_type_t | idmef_message_type_to_numeric ()
const char * | idmef_message_type_to_string ()
int | idmef_message_new ()
int | idmef_message_copy ()
int | idmef_message_clone ()
idmef_message_t * | idmef_message_ref ()
void | idmef_message_destroy ()
prelude_string_t * | idmef_message_get_version ()
void | idmef_message_set_version ()
int | idmef_message_new_version ()
idmef_message_type_t | idmef_message_get_type ()
idmef_alert_t * | idmef_message_get_alert ()
void | idmef_message_set_alert ()
int | idmef_message_new_alert ()
idmef_heartbeat_t * | idmef_message_get_heartbeat ()
void | idmef_message_set_heartbeat ()
int | idmef_message_new_heartbeat ()
void | idmef_message_set_pmsg ()
prelude_msg_t * | idmef_message_get_pmsg ()
int | idmef_action_compare ()
int | idmef_additional_data_compare ()
int | idmef_address_compare ()
int | idmef_alert_compare ()
int | idmef_alertident_compare ()
int | idmef_analyzer_compare ()
int | idmef_assessment_compare ()
int | idmef_checksum_compare ()
int | idmef_classification_compare ()
int | idmef_confidence_compare ()
int | idmef_correlation_alert_compare ()
int | idmef_data_compare ()
int | idmef_file_access_compare ()
int | idmef_file_compare ()
int | idmef_heartbeat_compare ()
int | idmef_impact_compare ()
int | idmef_inode_compare ()
int | idmef_linkage_compare ()
int | idmef_message_compare ()
int | idmef_node_compare ()
int | idmef_overflow_alert_compare ()
int | idmef_process_compare ()
int | idmef_reference_compare ()
int | idmef_service_compare ()
int | idmef_snmp_service_compare ()
int | idmef_source_compare ()
int | idmef_target_compare ()
int | idmef_time_compare ()
int | idmef_tool_alert_compare ()
int | idmef_user_compare ()
int | idmef_user_id_compare ()
int | idmef_web_service_compare ()

## Types and Values

#define | IDMEF_LIST_APPEND
#define | IDMEF_LIST_PREPEND
enum | idmef_additional_data_type_t
typedef | idmef_additional_data_t
enum | idmef_reference_origin_t
typedef | idmef_reference_t
typedef | idmef_classification_t
enum | idmef_user_id_type_t
typedef | idmef_user_id_t
enum | idmef_user_category_t
typedef | idmef_user_t
enum | idmef_address_category_t
typedef | idmef_address_t
typedef | idmef_process_t
typedef | idmef_web_service_t
typedef | idmef_snmp_service_t
enum | idmef_service_type_t
typedef | idmef_service_t
enum | idmef_node_category_t
typedef | idmef_node_t
enum | idmef_source_spoofed_t
typedef | idmef_source_t
typedef | idmef_file_access_t
typedef | idmef_inode_t
typedef | idmef_linkage_t
enum | idmef_checksum_algorithm_t
typedef | idmef_checksum_t
enum | idmef_file_category_t
enum | idmef_file_fstype_t
typedef | idmef_file_t
enum | idmef_linkage_category_t
enum | idmef_target_decoy_t
typedef | idmef_target_t
typedef | idmef_analyzer_t
typedef | idmef_alertident_t
enum | idmef_impact_severity_t
enum | idmef_impact_completion_t
enum | idmef_impact_type_t
typedef | idmef_impact_t
enum | idmef_action_category_t
typedef | idmef_action_t
enum | idmef_confidence_rating_t
typedef | idmef_confidence_t
typedef | idmef_assessment_t
typedef | idmef_tool_alert_t
typedef | idmef_correlation_alert_t
typedef | idmef_overflow_alert_t
enum | idmef_alert_type_t
typedef | idmef_alert_t
typedef | idmef_heartbeat_t
enum | idmef_message_type_t
typedef | idmef_message_t
#define | IDMEF_CLASS_ID_ADDITIONAL_DATA_TYPE
#define | IDMEF_CLASS_ID_ADDITIONAL_DATA
#define | IDMEF_CLASS_ID_REFERENCE_ORIGIN
#define | IDMEF_CLASS_ID_REFERENCE
#define | IDMEF_CLASS_ID_CLASSIFICATION
#define | IDMEF_CLASS_ID_USER_ID_TYPE
#define | IDMEF_CLASS_ID_USER_ID
#define | IDMEF_CLASS_ID_USER_CATEGORY
#define | IDMEF_CLASS_ID_USER
#define | IDMEF_CLASS_ID_ADDRESS_CATEGORY
#define | IDMEF_CLASS_ID_ADDRESS
#define | IDMEF_CLASS_ID_PROCESS
#define | IDMEF_CLASS_ID_WEB_SERVICE
#define | IDMEF_CLASS_ID_SNMP_SERVICE
#define | IDMEF_CLASS_ID_SERVICE_TYPE
#define | IDMEF_CLASS_ID_SERVICE
#define | IDMEF_CLASS_ID_NODE_CATEGORY
#define | IDMEF_CLASS_ID_NODE
#define | IDMEF_CLASS_ID_SOURCE_SPOOFED
#define | IDMEF_CLASS_ID_SOURCE
#define | IDMEF_CLASS_ID_FILE_ACCESS
#define | IDMEF_CLASS_ID_INODE
#define | IDMEF_CLASS_ID_CHECKSUM_ALGORITHM
#define | IDMEF_CLASS_ID_CHECKSUM
#define | IDMEF_CLASS_ID_FILE_CATEGORY
#define | IDMEF_CLASS_ID_FILE_FSTYPE
#define | IDMEF_CLASS_ID_FILE
#define | IDMEF_CLASS_ID_LINKAGE_CATEGORY
#define | IDMEF_CLASS_ID_LINKAGE
#define | IDMEF_CLASS_ID_TARGET_DECOY
#define | IDMEF_CLASS_ID_TARGET
#define | IDMEF_CLASS_ID_ANALYZER
#define | IDMEF_CLASS_ID_ALERTIDENT
#define | IDMEF_CLASS_ID_IMPACT_SEVERITY
#define | IDMEF_CLASS_ID_IMPACT_COMPLETION
#define | IDMEF_CLASS_ID_IMPACT_TYPE
#define | IDMEF_CLASS_ID_IMPACT
#define | IDMEF_CLASS_ID_ACTION_CATEGORY
#define | IDMEF_CLASS_ID_ACTION
#define | IDMEF_CLASS_ID_CONFIDENCE_RATING
#define | IDMEF_CLASS_ID_CONFIDENCE
#define | IDMEF_CLASS_ID_ASSESSMENT
#define | IDMEF_CLASS_ID_TOOL_ALERT
#define | IDMEF_CLASS_ID_CORRELATION_ALERT
#define | IDMEF_CLASS_ID_OVERFLOW_ALERT
#define | IDMEF_CLASS_ID_ALERT_TYPE
#define | IDMEF_CLASS_ID_ALERT
#define | IDMEF_CLASS_ID_HEARTBEAT
#define | IDMEF_CLASS_ID_MESSAGE_TYPE
#define | IDMEF_CLASS_ID_MESSAGE

## Description

## Functions

### idmef_message_get_data ()

    int
    idmef_message_get_data (idmef_message_t *message,
                            const char *path,
                            unsigned char **data,
                            size_t *size);

### idmef_message_get_number ()

    int
    idmef_message_get_number (idmef_message_t *message,
                              const char *path,
                              double *result);

Retrieve the number stored within `path` of `message` and store it in the user provided `result` .

#### Parameters

message | Pointer to an idmef_message_t object. |
path | Path to retrieve the number from within `message` . |
result | Pointer where the result should be stored. |

#### Returns

A positive value in case `path` was successfully retrieved 0 if the path is empty, or a negative value if an error occured.

### idmef_message_get_string ()

    int
    idmef_message_get_string (idmef_message_t *message,
                              const char *path,
                              char **result);

Retrieve the string stored within `path` of `message` and store it in the user provided `result` .

The caller is responssible for freeing `result` .

#### Parameters

message | Pointer to an idmef_message_t object. |
path | Path to retrieve the string from within `message` . |
result | Pointer where the result should be stored. |

#### Returns

A positive value in case `path` was successfully retrieved 0 if the path is empty, or a negative value if an error occured.

### idmef_message_get_value ()

    int
    idmef_message_get_value (idmef_message_t *message,
                             const char *path,
                             idmef_value_t **value);

Retrieve the value stored within `path` of `message` and store it in the user provided `value` .

#### Parameters

message | Pointer to an idmef_message_t object. |
path | Path to retrieve the value from within `message` . |
value | Pointer where the result should be stored. |

#### Returns

A positive value in case `path` was successfully retrieved 0 if the path is empty, or a negative value if an error occured.

### idmef_message_set_data ()

    int
    idmef_message_set_data (idmef_message_t *message,
                            const char *path,
                            const unsigned char *data,
                            size_t size);

This function will set the `path` member within `message` to the provided `data` of size `size` .

#### Parameters

message | Pointer to an idmef_message_t object. |
path | Path to be set within `message` . |
data | Pointer to data to associate `message` [`path` ] with. |
size | Size of the data pointed to by `data` . |

#### Returns

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

### idmef_message_set_number ()

    int
    idmef_message_set_number (idmef_message_t *message,
                              const char *path,
                              double number);

This function will set the `path` member within `message` to the provided `value` , which will be converted to the `path` value type.

Example: idmef_message_set_number(message, "alert.assessment.confidence.confidence", 0.123456); idmef_message_set_number(message, "alert.source(0).service.port", 1024);

#### Parameters

message | Pointer to an idmef_message_t object. |
path | Path to be set within `message` . |
number | Value to associate `message` [`path` ] with. |

#### Returns

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

### idmef_message_set_string ()

    int
    idmef_message_set_string (idmef_message_t *message,
                              const char *path,
                              const char *value);

This function will set the `path` member within `message` to the provided `value` , which will be converted to the corresponding `path` value type.

Example: idmef_message_set_string(message, "alert.classification.text", "MyText"); idmef_message_set_string(message, "alert.source(0).service.port", "1024");

#### Parameters

message | Pointer to an idmef_message_t object. |
path | Path to be set within `message` . |
value | Value to associate `message` [`path` ] with. |

#### Returns

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

### idmef_message_set_value ()

    int
    idmef_message_set_value (idmef_message_t *message,
                             const char *path,
                             idmef_value_t *value);

This function will set the `path` member within `message` to the provided `value` .

#### Parameters

message | Pointer to an idmef_message_t object. |
path | Path to be set within `message` . |
value | Value to associate `message` [`path` ] with. |

#### Returns

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

### idmef_additional_data_type_to_numeric ()

    idmef_additional_data_type_t
    idmef_additional_data_type_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_additional_data_type_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_additional_data_type_to_string ()

    const char *
    idmef_additional_data_type_to_string (idmef_additional_data_type_t val);

Return the IDMEF string equivalent of `val` provided idmef_additional_data_type_t value.

#### Parameters

val | an enumeration value for idmef_additional_data_type_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_additional_data_new ()

    int
    idmef_additional_data_new (idmef_additional_data_t **ret);

Create a new idmef_additional_data_t object.

#### Parameters

ret | Pointer where to store the created idmef_additional_data_t object. |

#### Returns

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

### idmef_additional_data_copy ()

    int
    idmef_additional_data_copy (const idmef_additional_data_t *src,
                                idmef_additional_data_t *dst);

Copy a new idmef_additional_data_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_additional_data_clone ()

    int
    idmef_additional_data_clone (idmef_additional_data_t *src,
                                 idmef_additional_data_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_additional_data_ref ()

    idmef_additional_data_t *
    idmef_additional_data_ref (idmef_additional_data_t *additional_data);

Increase `additional_data` reference count, so that it can be referenced multiple time.

#### Parameters

additional_data | pointer to a idmef_additional_data_t object. |

#### Returns

a pointer to `additional_data` .

### idmef_additional_data_destroy ()

    void
    idmef_additional_data_destroy (idmef_additional_data_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |

### idmef_additional_data_get_type ()

    idmef_additional_data_type_t
    idmef_additional_data_get_type (idmef_additional_data_t *ptr);

Get type children of the idmef_additional_data_t object.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |

#### Returns

a pointer to a idmef_additional_data_type_t object, or NULL if the children object is not set.

### idmef_additional_data_set_type ()

    void
    idmef_additional_data_set_type (idmef_additional_data_t *ptr,
                                    idmef_additional_data_type_t type);

Set `type` object as a children of `ptr` . if `ptr` already contain an `type` object, then it is destroyed, and updated to point to the provided `type` object.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |
type | pointer to a idmef_additional_data_type_t object. |

### idmef_additional_data_new_type ()

    int
    idmef_additional_data_new_type (idmef_additional_data_t *ptr,
                                    idmef_additional_data_type_t **ret);

Create a new type object, children of idmef_additional_data_t. If `ptr` already contain a idmef_additional_data_type_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |
ret | pointer to an address where to store the created idmef_additional_data_type_t object. |

#### Returns

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

### idmef_additional_data_get_meaning ()

    prelude_string_t *
    idmef_additional_data_get_meaning (idmef_additional_data_t *ptr);

Get meaning children of the idmef_additional_data_t object.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_additional_data_set_meaning ()

    void
    idmef_additional_data_set_meaning (idmef_additional_data_t *ptr,
                                       prelude_string_t *meaning);

Set `meaning` object as a children of `ptr` . if `ptr` already contain an `meaning` object, then it is destroyed, and updated to point to the provided `meaning` object.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |
meaning | pointer to a prelude_string_t object. |

### idmef_additional_data_new_meaning ()

    int
    idmef_additional_data_new_meaning (idmef_additional_data_t *ptr,
                                       prelude_string_t **ret);

Create a new meaning object, children of idmef_additional_data_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_additional_data_get_data ()

    idmef_data_t *
    idmef_additional_data_get_data (idmef_additional_data_t *ptr);

Get data children of the idmef_additional_data_t object.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |

#### Returns

a pointer to a idmef_data_t object, or NULL if the children object is not set.

### idmef_additional_data_set_data ()

    void
    idmef_additional_data_set_data (idmef_additional_data_t *ptr,
                                    idmef_data_t *data);

Set `data` object as a children of `ptr` . if `ptr` already contain an `data` object, then it is destroyed, and updated to point to the provided `data` object.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |
data | pointer to a idmef_data_t object. |

### idmef_additional_data_new_data ()

    int
    idmef_additional_data_new_data (idmef_additional_data_t *ptr,
                                    idmef_data_t **ret);

Create a new data object, children of idmef_additional_data_t. If `ptr` already contain a idmef_data_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_additional_data_t object. |
ret | pointer to an address where to store the created idmef_data_t object. |

#### Returns

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

### idmef_reference_origin_to_numeric ()

    idmef_reference_origin_t
    idmef_reference_origin_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_reference_origin_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_reference_origin_to_string ()

    const char *
    idmef_reference_origin_to_string (idmef_reference_origin_t val);

Return the IDMEF string equivalent of `val` provided idmef_reference_origin_t value.

#### Parameters

val | an enumeration value for idmef_reference_origin_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_reference_new ()

    int
    idmef_reference_new (idmef_reference_t **ret);

Create a new idmef_reference_t object.

#### Parameters

ret | Pointer where to store the created idmef_reference_t object. |

#### Returns

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

### idmef_reference_copy ()

    int
    idmef_reference_copy (const idmef_reference_t *src,
                          idmef_reference_t *dst);

Copy a new idmef_reference_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_reference_clone ()

    int
    idmef_reference_clone (idmef_reference_t *src,
                           idmef_reference_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_reference_ref ()

    idmef_reference_t *
    idmef_reference_ref (idmef_reference_t *reference);

Increase `reference` reference count, so that it can be referenced multiple time.

#### Parameters

reference | pointer to a idmef_reference_t object. |

#### Returns

a pointer to `reference` .

### idmef_reference_destroy ()

    void
    idmef_reference_destroy (idmef_reference_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_reference_t object. |

### idmef_reference_get_origin ()

    idmef_reference_origin_t
    idmef_reference_get_origin (idmef_reference_t *ptr);

Get origin children of the idmef_reference_t object.

#### Parameters

ptr | pointer to a idmef_reference_t object. |

#### Returns

a pointer to a idmef_reference_origin_t object, or NULL if the children object is not set.

### idmef_reference_set_origin ()

    void
    idmef_reference_set_origin (idmef_reference_t *ptr,
                                idmef_reference_origin_t origin);

Set `origin` object as a children of `ptr` . if `ptr` already contain an `origin` object, then it is destroyed, and updated to point to the provided `origin` object.

#### Parameters

ptr | pointer to a idmef_reference_t object. |
origin | pointer to a idmef_reference_origin_t object. |

### idmef_reference_new_origin ()

    int
    idmef_reference_new_origin (idmef_reference_t *ptr,
                                idmef_reference_origin_t **ret);

Create a new origin object, children of idmef_reference_t. If `ptr` already contain a idmef_reference_origin_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_reference_t object. |
ret | pointer to an address where to store the created idmef_reference_origin_t object. |

#### Returns

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

### idmef_reference_get_name ()

    prelude_string_t *
    idmef_reference_get_name (idmef_reference_t *ptr);

Get name children of the idmef_reference_t object.

#### Parameters

ptr | pointer to a idmef_reference_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_reference_set_name ()

    void
    idmef_reference_set_name (idmef_reference_t *ptr,
                              prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_reference_t object. |
name | pointer to a prelude_string_t object. |

### idmef_reference_new_name ()

    int
    idmef_reference_new_name (idmef_reference_t *ptr,
                              prelude_string_t **ret);

Create a new name object, children of idmef_reference_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_reference_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_reference_get_url ()

    prelude_string_t *
    idmef_reference_get_url (idmef_reference_t *ptr);

Get url children of the idmef_reference_t object.

#### Parameters

ptr | pointer to a idmef_reference_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_reference_set_url ()

    void
    idmef_reference_set_url (idmef_reference_t *ptr,
                             prelude_string_t *url);

Set `url` object as a children of `ptr` . if `ptr` already contain an `url` object, then it is destroyed, and updated to point to the provided `url` object.

#### Parameters

ptr | pointer to a idmef_reference_t object. |
url | pointer to a prelude_string_t object. |

### idmef_reference_new_url ()

    int
    idmef_reference_new_url (idmef_reference_t *ptr,
                             prelude_string_t **ret);

Create a new url object, children of idmef_reference_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_reference_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_reference_get_meaning ()

    prelude_string_t *
    idmef_reference_get_meaning (idmef_reference_t *ptr);

Get meaning children of the idmef_reference_t object.

#### Parameters

ptr | pointer to a idmef_reference_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_reference_set_meaning ()

    void
    idmef_reference_set_meaning (idmef_reference_t *ptr,
                                 prelude_string_t *meaning);

Set `meaning` object as a children of `ptr` . if `ptr` already contain an `meaning` object, then it is destroyed, and updated to point to the provided `meaning` object.

#### Parameters

ptr | pointer to a idmef_reference_t object. |
meaning | pointer to a prelude_string_t object. |

### idmef_reference_new_meaning ()

    int
    idmef_reference_new_meaning (idmef_reference_t *ptr,
                                 prelude_string_t **ret);

Create a new meaning object, children of idmef_reference_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_reference_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_classification_new ()

    int
    idmef_classification_new (idmef_classification_t **ret);

Create a new idmef_classification_t object.

#### Parameters

ret | Pointer where to store the created idmef_classification_t object. |

#### Returns

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

### idmef_classification_copy ()

    int
    idmef_classification_copy (const idmef_classification_t *src,
                               idmef_classification_t *dst);

Copy a new idmef_classification_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_classification_clone ()

    int
    idmef_classification_clone (idmef_classification_t *src,
                                idmef_classification_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_classification_ref ()

    idmef_classification_t *
    idmef_classification_ref (idmef_classification_t *classification);

Increase `classification` reference count, so that it can be referenced multiple time.

#### Parameters

classification | pointer to a idmef_classification_t object. |

#### Returns

a pointer to `classification` .

### idmef_classification_destroy ()

    void
    idmef_classification_destroy (idmef_classification_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_classification_t object. |

### idmef_classification_get_ident ()

    prelude_string_t *
    idmef_classification_get_ident (idmef_classification_t *ptr);

Get ident children of the idmef_classification_t object.

#### Parameters

ptr | pointer to a idmef_classification_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_classification_set_ident ()

    void
    idmef_classification_set_ident (idmef_classification_t *ptr,
                                    prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_classification_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_classification_new_ident ()

    int
    idmef_classification_new_ident (idmef_classification_t *ptr,
                                    prelude_string_t **ret);

Create a new ident object, children of idmef_classification_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_classification_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_classification_get_text ()

    prelude_string_t *
    idmef_classification_get_text (idmef_classification_t *ptr);

Get text children of the idmef_classification_t object.

#### Parameters

ptr | pointer to a idmef_classification_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_classification_set_text ()

    void
    idmef_classification_set_text (idmef_classification_t *ptr,
                                   prelude_string_t *text);

Set `text` object as a children of `ptr` . if `ptr` already contain an `text` object, then it is destroyed, and updated to point to the provided `text` object.

#### Parameters

ptr | pointer to a idmef_classification_t object. |
text | pointer to a prelude_string_t object. |

### idmef_classification_new_text ()

    int
    idmef_classification_new_text (idmef_classification_t *ptr,
                                   prelude_string_t **ret);

Create a new text object, children of idmef_classification_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_classification_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_classification_get_next_reference ()

    idmef_reference_t *
    idmef_classification_get_next_reference
                                   (idmef_classification_t *classification,
                                    idmef_reference_t *reference_cur);

Get the next idmef_reference_t object listed in `ptr` . When iterating over the idmef_reference_t object listed in `ptr` , `object` should be set to the latest returned idmef_reference_t object.

#### Parameters

classification | pointer to a idmef_classification_t object. |
reference_cur | pointer to a idmef_reference_t object. |

#### Returns

the next idmef_reference_t in the list.

### idmef_classification_set_reference ()

    void
    idmef_classification_set_reference (idmef_classification_t *ptr,
                                        idmef_reference_t *object,
                                        int pos);

Add `object` to position `pos` of `ptr` list of idmef_reference_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_classification_t object. |
object | pointer to a idmef_reference_t object. |
pos | Position in the list. |

### idmef_classification_new_reference ()

    int
    idmef_classification_new_reference (idmef_classification_t *ptr,
                                        idmef_reference_t **ret,
                                        int pos);

Create a new idmef_reference_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_reference_t object. The created idmef_reference_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_classification_t object. |
ret | pointer to an address where to store the created idmef_reference_t object. |
pos | position in the list. |

#### Returns

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

### idmef_user_id_type_to_numeric ()

    idmef_user_id_type_t
    idmef_user_id_type_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_user_id_type_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_user_id_type_to_string ()

    const char *
    idmef_user_id_type_to_string (idmef_user_id_type_t val);

Return the IDMEF string equivalent of `val` provided idmef_user_id_type_t value.

#### Parameters

val | an enumeration value for idmef_user_id_type_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_user_id_new ()

    int
    idmef_user_id_new (idmef_user_id_t **ret);

Create a new idmef_user_id_t object.

#### Parameters

ret | Pointer where to store the created idmef_user_id_t object. |

#### Returns

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

### idmef_user_id_copy ()

    int
    idmef_user_id_copy (const idmef_user_id_t *src,
                        idmef_user_id_t *dst);

Copy a new idmef_user_id_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_user_id_clone ()

    int
    idmef_user_id_clone (idmef_user_id_t *src,
                         idmef_user_id_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_user_id_ref ()

    idmef_user_id_t *
    idmef_user_id_ref (idmef_user_id_t *user_id);

Increase `user_id` reference count, so that it can be referenced multiple time.

#### Parameters

user_id | pointer to a idmef_user_id_t object. |

#### Returns

a pointer to `user_id` .

### idmef_user_id_destroy ()

    void
    idmef_user_id_destroy (idmef_user_id_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |

### idmef_user_id_get_ident ()

    prelude_string_t *
    idmef_user_id_get_ident (idmef_user_id_t *ptr);

Get ident children of the idmef_user_id_t object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_user_id_set_ident ()

    void
    idmef_user_id_set_ident (idmef_user_id_t *ptr,
                             prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_user_id_new_ident ()

    int
    idmef_user_id_new_ident (idmef_user_id_t *ptr,
                             prelude_string_t **ret);

Create a new ident object, children of idmef_user_id_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_user_id_get_type ()

    idmef_user_id_type_t
    idmef_user_id_get_type (idmef_user_id_t *ptr);

Get type children of the idmef_user_id_t object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |

#### Returns

a pointer to a idmef_user_id_type_t object, or NULL if the children object is not set.

### idmef_user_id_set_type ()

    void
    idmef_user_id_set_type (idmef_user_id_t *ptr,
                            idmef_user_id_type_t type);

Set `type` object as a children of `ptr` . if `ptr` already contain an `type` object, then it is destroyed, and updated to point to the provided `type` object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
type | pointer to a idmef_user_id_type_t object. |

### idmef_user_id_new_type ()

    int
    idmef_user_id_new_type (idmef_user_id_t *ptr,
                            idmef_user_id_type_t **ret);

Create a new type object, children of idmef_user_id_t. If `ptr` already contain a idmef_user_id_type_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
ret | pointer to an address where to store the created idmef_user_id_type_t object. |

#### Returns

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

### idmef_user_id_get_tty ()

    prelude_string_t *
    idmef_user_id_get_tty (idmef_user_id_t *ptr);

Get tty children of the idmef_user_id_t object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_user_id_set_tty ()

    void
    idmef_user_id_set_tty (idmef_user_id_t *ptr,
                           prelude_string_t *tty);

Set `tty` object as a children of `ptr` . if `ptr` already contain an `tty` object, then it is destroyed, and updated to point to the provided `tty` object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
tty | pointer to a prelude_string_t object. |

### idmef_user_id_new_tty ()

    int
    idmef_user_id_new_tty (idmef_user_id_t *ptr,
                           prelude_string_t **ret);

Create a new tty object, children of idmef_user_id_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_user_id_get_name ()

    prelude_string_t *
    idmef_user_id_get_name (idmef_user_id_t *ptr);

Get name children of the idmef_user_id_t object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_user_id_set_name ()

    void
    idmef_user_id_set_name (idmef_user_id_t *ptr,
                            prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
name | pointer to a prelude_string_t object. |

### idmef_user_id_new_name ()

    int
    idmef_user_id_new_name (idmef_user_id_t *ptr,
                            prelude_string_t **ret);

Create a new name object, children of idmef_user_id_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_user_id_unset_number ()

    void
    idmef_user_id_unset_number (idmef_user_id_t *ptr);

### idmef_user_id_get_number ()

    uint32_t *
    idmef_user_id_get_number (idmef_user_id_t *ptr);

Get number children of the idmef_user_id_t object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_user_id_set_number ()

    void
    idmef_user_id_set_number (idmef_user_id_t *ptr,
                              uint32_t number);

Set `number` object as a children of `ptr` . if `ptr` already contain an `number` object, then it is destroyed, and updated to point to the provided `number` object.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
number | pointer to a uint32_t object. |

### idmef_user_id_new_number ()

    int
    idmef_user_id_new_number (idmef_user_id_t *ptr,
                              uint32_t **ret);

Create a new number object, children of idmef_user_id_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_user_id_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_user_category_to_numeric ()

    idmef_user_category_t
    idmef_user_category_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_user_category_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_user_category_to_string ()

    const char *
    idmef_user_category_to_string (idmef_user_category_t val);

Return the IDMEF string equivalent of `val` provided idmef_user_category_t value.

#### Parameters

val | an enumeration value for idmef_user_category_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_user_new ()

    int
    idmef_user_new (idmef_user_t **ret);

Create a new idmef_user_t object.

#### Parameters

ret | Pointer where to store the created idmef_user_t object. |

#### Returns

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

### idmef_user_copy ()

    int
    idmef_user_copy (const idmef_user_t *src,
                     idmef_user_t *dst);

Copy a new idmef_user_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_user_clone ()

    int
    idmef_user_clone (idmef_user_t *src,
                      idmef_user_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_user_ref ()

    idmef_user_t *
    idmef_user_ref (idmef_user_t *user);

Increase `user` reference count, so that it can be referenced multiple time.

#### Parameters

user | pointer to a idmef_user_t object. |

#### Returns

a pointer to `user` .

### idmef_user_destroy ()

    void
    idmef_user_destroy (idmef_user_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_user_t object. |

### idmef_user_get_ident ()

    prelude_string_t *
    idmef_user_get_ident (idmef_user_t *ptr);

Get ident children of the idmef_user_t object.

#### Parameters

ptr | pointer to a idmef_user_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_user_set_ident ()

    void
    idmef_user_set_ident (idmef_user_t *ptr,
                          prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_user_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_user_new_ident ()

    int
    idmef_user_new_ident (idmef_user_t *ptr,
                          prelude_string_t **ret);

Create a new ident object, children of idmef_user_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_user_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_user_get_category ()

    idmef_user_category_t
    idmef_user_get_category (idmef_user_t *ptr);

Get category children of the idmef_user_t object.

#### Parameters

ptr | pointer to a idmef_user_t object. |

#### Returns

a pointer to a idmef_user_category_t object, or NULL if the children object is not set.

### idmef_user_set_category ()

    void
    idmef_user_set_category (idmef_user_t *ptr,
                             idmef_user_category_t category);

Set `category` object as a children of `ptr` . if `ptr` already contain an `category` object, then it is destroyed, and updated to point to the provided `category` object.

#### Parameters

ptr | pointer to a idmef_user_t object. |
category | pointer to a idmef_user_category_t object. |

### idmef_user_new_category ()

    int
    idmef_user_new_category (idmef_user_t *ptr,
                             idmef_user_category_t **ret);

Create a new category object, children of idmef_user_t. If `ptr` already contain a idmef_user_category_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_user_t object. |
ret | pointer to an address where to store the created idmef_user_category_t object. |

#### Returns

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

### idmef_user_get_next_user_id ()

    idmef_user_id_t *
    idmef_user_get_next_user_id (idmef_user_t *user,
                                 idmef_user_id_t *user_id_cur);

Get the next idmef_user_id_t object listed in `ptr` . When iterating over the idmef_user_id_t object listed in `ptr` , `object` should be set to the latest returned idmef_user_id_t object.

#### Parameters

user | pointer to a idmef_user_t object. |
user_id_cur | pointer to a idmef_user_id_t object. |

#### Returns

the next idmef_user_id_t in the list.

### idmef_user_set_user_id ()

    void
    idmef_user_set_user_id (idmef_user_t *ptr,
                            idmef_user_id_t *object,
                            int pos);

Add `object` to position `pos` of `ptr` list of idmef_user_id_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_user_t object. |
object | pointer to a idmef_user_id_t object. |
pos | Position in the list. |

### idmef_user_new_user_id ()

    int
    idmef_user_new_user_id (idmef_user_t *ptr,
                            idmef_user_id_t **ret,
                            int pos);

Create a new idmef_user_id_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_user_id_t object. The created idmef_user_id_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_user_t object. |
ret | pointer to an address where to store the created idmef_user_id_t object. |
pos | position in the list. |

#### Returns

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

### idmef_address_category_to_numeric ()

    idmef_address_category_t
    idmef_address_category_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_address_category_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_address_category_to_string ()

    const char *
    idmef_address_category_to_string (idmef_address_category_t val);

Return the IDMEF string equivalent of `val` provided idmef_address_category_t value.

#### Parameters

val | an enumeration value for idmef_address_category_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_address_new ()

    int
    idmef_address_new (idmef_address_t **ret);

Create a new idmef_address_t object.

#### Parameters

ret | Pointer where to store the created idmef_address_t object. |

#### Returns

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

### idmef_address_copy ()

    int
    idmef_address_copy (const idmef_address_t *src,
                        idmef_address_t *dst);

Copy a new idmef_address_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_address_clone ()

    int
    idmef_address_clone (idmef_address_t *src,
                         idmef_address_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_address_ref ()

    idmef_address_t *
    idmef_address_ref (idmef_address_t *address);

Increase `address` reference count, so that it can be referenced multiple time.

#### Parameters

address | pointer to a idmef_address_t object. |

#### Returns

a pointer to `address` .

### idmef_address_destroy ()

    void
    idmef_address_destroy (idmef_address_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_address_t object. |

### idmef_address_get_ident ()

    prelude_string_t *
    idmef_address_get_ident (idmef_address_t *ptr);

Get ident children of the idmef_address_t object.

#### Parameters

ptr | pointer to a idmef_address_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_address_set_ident ()

    void
    idmef_address_set_ident (idmef_address_t *ptr,
                             prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_address_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_address_new_ident ()

    int
    idmef_address_new_ident (idmef_address_t *ptr,
                             prelude_string_t **ret);

Create a new ident object, children of idmef_address_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_address_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_address_get_category ()

    idmef_address_category_t
    idmef_address_get_category (idmef_address_t *ptr);

Get category children of the idmef_address_t object.

#### Parameters

ptr | pointer to a idmef_address_t object. |

#### Returns

a pointer to a idmef_address_category_t object, or NULL if the children object is not set.

### idmef_address_set_category ()

    void
    idmef_address_set_category (idmef_address_t *ptr,
                                idmef_address_category_t category);

Set `category` object as a children of `ptr` . if `ptr` already contain an `category` object, then it is destroyed, and updated to point to the provided `category` object.

#### Parameters

ptr | pointer to a idmef_address_t object. |
category | pointer to a idmef_address_category_t object. |

### idmef_address_new_category ()

    int
    idmef_address_new_category (idmef_address_t *ptr,
                                idmef_address_category_t **ret);

Create a new category object, children of idmef_address_t. If `ptr` already contain a idmef_address_category_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_address_t object. |
ret | pointer to an address where to store the created idmef_address_category_t object. |

#### Returns

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

### idmef_address_get_vlan_name ()

    prelude_string_t *
    idmef_address_get_vlan_name (idmef_address_t *ptr);

Get vlan_name children of the idmef_address_t object.

#### Parameters

ptr | pointer to a idmef_address_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_address_set_vlan_name ()

    void
    idmef_address_set_vlan_name (idmef_address_t *ptr,
                                 prelude_string_t *vlan_name);

Set `vlan_name` object as a children of `ptr` . if `ptr` already contain an `vlan_name` object, then it is destroyed, and updated to point to the provided `vlan_name` object.

#### Parameters

ptr | pointer to a idmef_address_t object. |
vlan_name | pointer to a prelude_string_t object. |

### idmef_address_new_vlan_name ()

    int
    idmef_address_new_vlan_name (idmef_address_t *ptr,
                                 prelude_string_t **ret);

Create a new vlan_name object, children of idmef_address_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_address_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_address_unset_vlan_num ()

    void
    idmef_address_unset_vlan_num (idmef_address_t *ptr);

### idmef_address_get_vlan_num ()

    int32_t *
    idmef_address_get_vlan_num (idmef_address_t *ptr);

Get vlan_num children of the idmef_address_t object.

#### Parameters

ptr | pointer to a idmef_address_t object. |

#### Returns

a pointer to a int32_t object, or NULL if the children object is not set.

### idmef_address_set_vlan_num ()

    void
    idmef_address_set_vlan_num (idmef_address_t *ptr,
                                int32_t vlan_num);

Set `vlan_num` object as a children of `ptr` . if `ptr` already contain an `vlan_num` object, then it is destroyed, and updated to point to the provided `vlan_num` object.

#### Parameters

ptr | pointer to a idmef_address_t object. |
vlan_num | pointer to a int32_t object. |

### idmef_address_new_vlan_num ()

    int
    idmef_address_new_vlan_num (idmef_address_t *ptr,
                                int32_t **ret);

Create a new vlan_num object, children of idmef_address_t. If `ptr` already contain a int32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_address_t object. |
ret | pointer to an address where to store the created int32_t object. |

#### Returns

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

### idmef_address_get_address ()

    prelude_string_t *
    idmef_address_get_address (idmef_address_t *ptr);

Get address children of the idmef_address_t object.

#### Parameters

ptr | pointer to a idmef_address_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_address_set_address ()

    void
    idmef_address_set_address (idmef_address_t *ptr,
                               prelude_string_t *address);

Set `address` object as a children of `ptr` . if `ptr` already contain an `address` object, then it is destroyed, and updated to point to the provided `address` object.

#### Parameters

ptr | pointer to a idmef_address_t object. |
address | pointer to a prelude_string_t object. |

### idmef_address_new_address ()

    int
    idmef_address_new_address (idmef_address_t *ptr,
                               prelude_string_t **ret);

Create a new address object, children of idmef_address_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_address_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_address_get_netmask ()

    prelude_string_t *
    idmef_address_get_netmask (idmef_address_t *ptr);

Get netmask children of the idmef_address_t object.

#### Parameters

ptr | pointer to a idmef_address_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_address_set_netmask ()

    void
    idmef_address_set_netmask (idmef_address_t *ptr,
                               prelude_string_t *netmask);

Set `netmask` object as a children of `ptr` . if `ptr` already contain an `netmask` object, then it is destroyed, and updated to point to the provided `netmask` object.

#### Parameters

ptr | pointer to a idmef_address_t object. |
netmask | pointer to a prelude_string_t object. |

### idmef_address_new_netmask ()

    int
    idmef_address_new_netmask (idmef_address_t *ptr,
                               prelude_string_t **ret);

Create a new netmask object, children of idmef_address_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_address_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_process_new ()

    int
    idmef_process_new (idmef_process_t **ret);

Create a new idmef_process_t object.

#### Parameters

ret | Pointer where to store the created idmef_process_t object. |

#### Returns

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

### idmef_process_copy ()

    int
    idmef_process_copy (const idmef_process_t *src,
                        idmef_process_t *dst);

Copy a new idmef_process_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_process_clone ()

    int
    idmef_process_clone (idmef_process_t *src,
                         idmef_process_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_process_ref ()

    idmef_process_t *
    idmef_process_ref (idmef_process_t *process);

Increase `process` reference count, so that it can be referenced multiple time.

#### Parameters

process | pointer to a idmef_process_t object. |

#### Returns

a pointer to `process` .

### idmef_process_destroy ()

    void
    idmef_process_destroy (idmef_process_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_process_t object. |

### idmef_process_get_ident ()

    prelude_string_t *
    idmef_process_get_ident (idmef_process_t *ptr);

Get ident children of the idmef_process_t object.

#### Parameters

ptr | pointer to a idmef_process_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_process_set_ident ()

    void
    idmef_process_set_ident (idmef_process_t *ptr,
                             prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_process_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_process_new_ident ()

    int
    idmef_process_new_ident (idmef_process_t *ptr,
                             prelude_string_t **ret);

Create a new ident object, children of idmef_process_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_process_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_process_get_name ()

    prelude_string_t *
    idmef_process_get_name (idmef_process_t *ptr);

Get name children of the idmef_process_t object.

#### Parameters

ptr | pointer to a idmef_process_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_process_set_name ()

    void
    idmef_process_set_name (idmef_process_t *ptr,
                            prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_process_t object. |
name | pointer to a prelude_string_t object. |

### idmef_process_new_name ()

    int
    idmef_process_new_name (idmef_process_t *ptr,
                            prelude_string_t **ret);

Create a new name object, children of idmef_process_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_process_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_process_unset_pid ()

    void
    idmef_process_unset_pid (idmef_process_t *ptr);

### idmef_process_get_pid ()

    uint32_t *
    idmef_process_get_pid (idmef_process_t *ptr);

Get pid children of the idmef_process_t object.

#### Parameters

ptr | pointer to a idmef_process_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_process_set_pid ()

    void
    idmef_process_set_pid (idmef_process_t *ptr,
                           uint32_t pid);

Set `pid` object as a children of `ptr` . if `ptr` already contain an `pid` object, then it is destroyed, and updated to point to the provided `pid` object.

#### Parameters

ptr | pointer to a idmef_process_t object. |
pid | pointer to a uint32_t object. |

### idmef_process_new_pid ()

    int
    idmef_process_new_pid (idmef_process_t *ptr,
                           uint32_t **ret);

Create a new pid object, children of idmef_process_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_process_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_process_get_path ()

    prelude_string_t *
    idmef_process_get_path (idmef_process_t *ptr);

Get path children of the idmef_process_t object.

#### Parameters

ptr | pointer to a idmef_process_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_process_set_path ()

    void
    idmef_process_set_path (idmef_process_t *ptr,
                            prelude_string_t *path);

Set `path` object as a children of `ptr` . if `ptr` already contain an `path` object, then it is destroyed, and updated to point to the provided `path` object.

#### Parameters

ptr | pointer to a idmef_process_t object. |
path | pointer to a prelude_string_t object. |

### idmef_process_new_path ()

    int
    idmef_process_new_path (idmef_process_t *ptr,
                            prelude_string_t **ret);

Create a new path object, children of idmef_process_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_process_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_process_get_next_arg ()

    prelude_string_t *
    idmef_process_get_next_arg (idmef_process_t *process,
                                prelude_string_t *prelude_string_cur);

Get the next prelude_string_t object listed in `ptr` . When iterating over the prelude_string_t object listed in `ptr` , `object` should be set to the latest returned prelude_string_t object.

#### Parameters

process | pointer to a idmef_process_t object. |
prelude_string_cur | pointer to a prelude_string_t object. |

#### Returns

the next prelude_string_t in the list.

### idmef_process_set_arg ()

    void
    idmef_process_set_arg (idmef_process_t *ptr,
                           prelude_string_t *object,
                           int pos);

Add `object` to position `pos` of `ptr` list of prelude_string_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_process_t object. |
object | pointer to a prelude_string_t object. |
pos | Position in the list. |

### idmef_process_new_arg ()

    int
    idmef_process_new_arg (idmef_process_t *ptr,
                           prelude_string_t **ret,
                           int pos);

Create a new prelude_string_t children of `ptr` , and add it to position `pos` of `ptr` list of prelude_string_t object. The created prelude_string_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_process_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |
pos | position in the list. |

#### Returns

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

### idmef_process_get_next_env ()

    prelude_string_t *
    idmef_process_get_next_env (idmef_process_t *process,
                                prelude_string_t *prelude_string_cur);

Get the next prelude_string_t object listed in `ptr` . When iterating over the prelude_string_t object listed in `ptr` , `object` should be set to the latest returned prelude_string_t object.

#### Parameters

process | pointer to a idmef_process_t object. |
prelude_string_cur | pointer to a prelude_string_t object. |

#### Returns

the next prelude_string_t in the list.

### idmef_process_set_env ()

    void
    idmef_process_set_env (idmef_process_t *ptr,
                           prelude_string_t *object,
                           int pos);

Add `object` to position `pos` of `ptr` list of prelude_string_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_process_t object. |
object | pointer to a prelude_string_t object. |
pos | Position in the list. |

### idmef_process_new_env ()

    int
    idmef_process_new_env (idmef_process_t *ptr,
                           prelude_string_t **ret,
                           int pos);

Create a new prelude_string_t children of `ptr` , and add it to position `pos` of `ptr` list of prelude_string_t object. The created prelude_string_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_process_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |
pos | position in the list. |

#### Returns

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

### idmef_web_service_new ()

    int
    idmef_web_service_new (idmef_web_service_t **ret);

Create a new idmef_web_service_t object.

#### Parameters

ret | Pointer where to store the created idmef_web_service_t object. |

#### Returns

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

### idmef_web_service_copy ()

    int
    idmef_web_service_copy (const idmef_web_service_t *src,
                            idmef_web_service_t *dst);

Copy a new idmef_web_service_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_web_service_clone ()

    int
    idmef_web_service_clone (idmef_web_service_t *src,
                             idmef_web_service_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_web_service_ref ()

    idmef_web_service_t *
    idmef_web_service_ref (idmef_web_service_t *web_service);

Increase `web_service` reference count, so that it can be referenced multiple time.

#### Parameters

web_service | pointer to a idmef_web_service_t object. |

#### Returns

a pointer to `web_service` .

### idmef_web_service_destroy ()

    void
    idmef_web_service_destroy (idmef_web_service_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |

### idmef_web_service_get_url ()

    prelude_string_t *
    idmef_web_service_get_url (idmef_web_service_t *ptr);

Get url children of the idmef_web_service_t object.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_web_service_set_url ()

    void
    idmef_web_service_set_url (idmef_web_service_t *ptr,
                               prelude_string_t *url);

Set `url` object as a children of `ptr` . if `ptr` already contain an `url` object, then it is destroyed, and updated to point to the provided `url` object.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |
url | pointer to a prelude_string_t object. |

### idmef_web_service_new_url ()

    int
    idmef_web_service_new_url (idmef_web_service_t *ptr,
                               prelude_string_t **ret);

Create a new url object, children of idmef_web_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_web_service_get_cgi ()

    prelude_string_t *
    idmef_web_service_get_cgi (idmef_web_service_t *ptr);

Get cgi children of the idmef_web_service_t object.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_web_service_set_cgi ()

    void
    idmef_web_service_set_cgi (idmef_web_service_t *ptr,
                               prelude_string_t *cgi);

Set `cgi` object as a children of `ptr` . if `ptr` already contain an `cgi` object, then it is destroyed, and updated to point to the provided `cgi` object.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |
cgi | pointer to a prelude_string_t object. |

### idmef_web_service_new_cgi ()

    int
    idmef_web_service_new_cgi (idmef_web_service_t *ptr,
                               prelude_string_t **ret);

Create a new cgi object, children of idmef_web_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_web_service_get_http_method ()

    prelude_string_t *
    idmef_web_service_get_http_method (idmef_web_service_t *ptr);

Get http_method children of the idmef_web_service_t object.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_web_service_set_http_method ()

    void
    idmef_web_service_set_http_method (idmef_web_service_t *ptr,
                                       prelude_string_t *http_method);

Set `http_method` object as a children of `ptr` . if `ptr` already contain an `http_method` object, then it is destroyed, and updated to point to the provided `http_method` object.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |
http_method | pointer to a prelude_string_t object. |

### idmef_web_service_new_http_method ()

    int
    idmef_web_service_new_http_method (idmef_web_service_t *ptr,
                                       prelude_string_t **ret);

Create a new http_method object, children of idmef_web_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_web_service_get_next_arg ()

    prelude_string_t *
    idmef_web_service_get_next_arg (idmef_web_service_t *web_service,
                                    prelude_string_t *prelude_string_cur);

Get the next prelude_string_t object listed in `ptr` . When iterating over the prelude_string_t object listed in `ptr` , `object` should be set to the latest returned prelude_string_t object.

#### Parameters

web_service | pointer to a idmef_web_service_t object. |
prelude_string_cur | pointer to a prelude_string_t object. |

#### Returns

the next prelude_string_t in the list.

### idmef_web_service_set_arg ()

    void
    idmef_web_service_set_arg (idmef_web_service_t *ptr,
                               prelude_string_t *object,
                               int pos);

Add `object` to position `pos` of `ptr` list of prelude_string_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |
object | pointer to a prelude_string_t object. |
pos | Position in the list. |

### idmef_web_service_new_arg ()

    int
    idmef_web_service_new_arg (idmef_web_service_t *ptr,
                               prelude_string_t **ret,
                               int pos);

Create a new prelude_string_t children of `ptr` , and add it to position `pos` of `ptr` list of prelude_string_t object. The created prelude_string_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_web_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |
pos | position in the list. |

#### Returns

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

### idmef_snmp_service_new ()

    int
    idmef_snmp_service_new (idmef_snmp_service_t **ret);

Create a new idmef_snmp_service_t object.

#### Parameters

ret | Pointer where to store the created idmef_snmp_service_t object. |

#### Returns

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

### idmef_snmp_service_copy ()

    int
    idmef_snmp_service_copy (const idmef_snmp_service_t *src,
                             idmef_snmp_service_t *dst);

Copy a new idmef_snmp_service_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_snmp_service_clone ()

    int
    idmef_snmp_service_clone (idmef_snmp_service_t *src,
                              idmef_snmp_service_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_snmp_service_ref ()

    idmef_snmp_service_t *
    idmef_snmp_service_ref (idmef_snmp_service_t *snmp_service);

Increase `snmp_service` reference count, so that it can be referenced multiple time.

#### Parameters

snmp_service | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to `snmp_service` .

### idmef_snmp_service_destroy ()

    void
    idmef_snmp_service_destroy (idmef_snmp_service_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

### idmef_snmp_service_get_oid ()

    prelude_string_t *
    idmef_snmp_service_get_oid (idmef_snmp_service_t *ptr);

Get oid children of the idmef_snmp_service_t object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_snmp_service_set_oid ()

    void
    idmef_snmp_service_set_oid (idmef_snmp_service_t *ptr,
                                prelude_string_t *oid);

Set `oid` object as a children of `ptr` . if `ptr` already contain an `oid` object, then it is destroyed, and updated to point to the provided `oid` object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
oid | pointer to a prelude_string_t object. |

### idmef_snmp_service_new_oid ()

    int
    idmef_snmp_service_new_oid (idmef_snmp_service_t *ptr,
                                prelude_string_t **ret);

Create a new oid object, children of idmef_snmp_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_snmp_service_unset_message_processing_model ()

    void
    idmef_snmp_service_unset_message_processing_model
                                   (idmef_snmp_service_t *ptr);

### idmef_snmp_service_get_message_processing_model ()

    uint32_t *
    idmef_snmp_service_get_message_processing_model
                                   (idmef_snmp_service_t *ptr);

Get message_processing_model children of the idmef_snmp_service_t object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_snmp_service_set_message_processing_model ()

    void
    idmef_snmp_service_set_message_processing_model
                                   (idmef_snmp_service_t *ptr,
                                    uint32_t message_processing_model);

Set `message_processing_model` object as a children of `ptr` . if `ptr` already contain an `message_processing_model` object, then it is destroyed, and updated to point to the provided `message_processing_model` object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
message_processing_model | pointer to a uint32_t object. |

### idmef_snmp_service_new_message_processing_model ()

    int
    idmef_snmp_service_new_message_processing_model
                                   (idmef_snmp_service_t *ptr,
                                    uint32_t **ret);

Create a new message_processing_model object, children of idmef_snmp_service_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_snmp_service_unset_security_model ()

    void
    idmef_snmp_service_unset_security_model
                                   (idmef_snmp_service_t *ptr);

### idmef_snmp_service_get_security_model ()

    uint32_t *
    idmef_snmp_service_get_security_model (idmef_snmp_service_t *ptr);

Get security_model children of the idmef_snmp_service_t object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_snmp_service_set_security_model ()

    void
    idmef_snmp_service_set_security_model (idmef_snmp_service_t *ptr,
                                           uint32_t security_model);

Set `security_model` object as a children of `ptr` . if `ptr` already contain an `security_model` object, then it is destroyed, and updated to point to the provided `security_model` object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
security_model | pointer to a uint32_t object. |

### idmef_snmp_service_new_security_model ()

    int
    idmef_snmp_service_new_security_model (idmef_snmp_service_t *ptr,
                                           uint32_t **ret);

Create a new security_model object, children of idmef_snmp_service_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_snmp_service_get_security_name ()

    prelude_string_t *
    idmef_snmp_service_get_security_name (idmef_snmp_service_t *ptr);

Get security_name children of the idmef_snmp_service_t object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_snmp_service_set_security_name ()

    void
    idmef_snmp_service_set_security_name (idmef_snmp_service_t *ptr,
                                          prelude_string_t *security_name);

Set `security_name` object as a children of `ptr` . if `ptr` already contain an `security_name` object, then it is destroyed, and updated to point to the provided `security_name` object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
security_name | pointer to a prelude_string_t object. |

### idmef_snmp_service_new_security_name ()

    int
    idmef_snmp_service_new_security_name (idmef_snmp_service_t *ptr,
                                          prelude_string_t **ret);

Create a new security_name object, children of idmef_snmp_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_snmp_service_unset_security_level ()

    void
    idmef_snmp_service_unset_security_level
                                   (idmef_snmp_service_t *ptr);

### idmef_snmp_service_get_security_level ()

    uint32_t *
    idmef_snmp_service_get_security_level (idmef_snmp_service_t *ptr);

Get security_level children of the idmef_snmp_service_t object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_snmp_service_set_security_level ()

    void
    idmef_snmp_service_set_security_level (idmef_snmp_service_t *ptr,
                                           uint32_t security_level);

Set `security_level` object as a children of `ptr` . if `ptr` already contain an `security_level` object, then it is destroyed, and updated to point to the provided `security_level` object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
security_level | pointer to a uint32_t object. |

### idmef_snmp_service_new_security_level ()

    int
    idmef_snmp_service_new_security_level (idmef_snmp_service_t *ptr,
                                           uint32_t **ret);

Create a new security_level object, children of idmef_snmp_service_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_snmp_service_get_context_name ()

    prelude_string_t *
    idmef_snmp_service_get_context_name (idmef_snmp_service_t *ptr);

Get context_name children of the idmef_snmp_service_t object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_snmp_service_set_context_name ()

    void
    idmef_snmp_service_set_context_name (idmef_snmp_service_t *ptr,
                                         prelude_string_t *context_name);

Set `context_name` object as a children of `ptr` . if `ptr` already contain an `context_name` object, then it is destroyed, and updated to point to the provided `context_name` object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
context_name | pointer to a prelude_string_t object. |

### idmef_snmp_service_new_context_name ()

    int
    idmef_snmp_service_new_context_name (idmef_snmp_service_t *ptr,
                                         prelude_string_t **ret);

Create a new context_name object, children of idmef_snmp_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_snmp_service_get_context_engine_id ()

    prelude_string_t *
    idmef_snmp_service_get_context_engine_id
                                   (idmef_snmp_service_t *ptr);

Get context_engine_id children of the idmef_snmp_service_t object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_snmp_service_set_context_engine_id ()

    void
    idmef_snmp_service_set_context_engine_id
                                   (idmef_snmp_service_t *ptr,
                                    prelude_string_t *context_engine_id);

Set `context_engine_id` object as a children of `ptr` . if `ptr` already contain an `context_engine_id` object, then it is destroyed, and updated to point to the provided `context_engine_id` object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
context_engine_id | pointer to a prelude_string_t object. |

### idmef_snmp_service_new_context_engine_id ()

    int
    idmef_snmp_service_new_context_engine_id
                                   (idmef_snmp_service_t *ptr,
                                    prelude_string_t **ret);

Create a new context_engine_id object, children of idmef_snmp_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_snmp_service_get_command ()

    prelude_string_t *
    idmef_snmp_service_get_command (idmef_snmp_service_t *ptr);

Get command children of the idmef_snmp_service_t object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_snmp_service_set_command ()

    void
    idmef_snmp_service_set_command (idmef_snmp_service_t *ptr,
                                    prelude_string_t *command);

Set `command` object as a children of `ptr` . if `ptr` already contain an `command` object, then it is destroyed, and updated to point to the provided `command` object.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
command | pointer to a prelude_string_t object. |

### idmef_snmp_service_new_command ()

    int
    idmef_snmp_service_new_command (idmef_snmp_service_t *ptr,
                                    prelude_string_t **ret);

Create a new command object, children of idmef_snmp_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_snmp_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_service_type_to_numeric ()

    idmef_service_type_t
    idmef_service_type_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_service_type_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_service_type_to_string ()

    const char *
    idmef_service_type_to_string (idmef_service_type_t val);

Return the IDMEF string equivalent of `val` provided idmef_service_type_t value.

#### Parameters

val | an enumeration value for idmef_service_type_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_service_new ()

    int
    idmef_service_new (idmef_service_t **ret);

Create a new idmef_service_t object.

#### Parameters

ret | Pointer where to store the created idmef_service_t object. |

#### Returns

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

### idmef_service_copy ()

    int
    idmef_service_copy (const idmef_service_t *src,
                        idmef_service_t *dst);

Copy a new idmef_service_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_service_clone ()

    int
    idmef_service_clone (idmef_service_t *src,
                         idmef_service_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_service_ref ()

    idmef_service_t *
    idmef_service_ref (idmef_service_t *service);

Increase `service` reference count, so that it can be referenced multiple time.

#### Parameters

service | pointer to a idmef_service_t object. |

#### Returns

a pointer to `service` .

### idmef_service_destroy ()

    void
    idmef_service_destroy (idmef_service_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_service_t object. |

### idmef_service_get_ident ()

    prelude_string_t *
    idmef_service_get_ident (idmef_service_t *ptr);

Get ident children of the idmef_service_t object.

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_service_set_ident ()

    void
    idmef_service_set_ident (idmef_service_t *ptr,
                             prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_service_new_ident ()

    int
    idmef_service_new_ident (idmef_service_t *ptr,
                             prelude_string_t **ret);

Create a new ident object, children of idmef_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_service_unset_ip_version ()

    void
    idmef_service_unset_ip_version (idmef_service_t *ptr);

### idmef_service_get_ip_version ()

    uint8_t *
    idmef_service_get_ip_version (idmef_service_t *ptr);

Get ip_version children of the idmef_service_t object.

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to a uint8_t object, or NULL if the children object is not set.

### idmef_service_set_ip_version ()

    void
    idmef_service_set_ip_version (idmef_service_t *ptr,
                                  uint8_t ip_version);

Set `ip_version` object as a children of `ptr` . if `ptr` already contain an `ip_version` object, then it is destroyed, and updated to point to the provided `ip_version` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ip_version | pointer to a uint8_t object. |

### idmef_service_new_ip_version ()

    int
    idmef_service_new_ip_version (idmef_service_t *ptr,
                                  uint8_t **ret);

Create a new ip_version object, children of idmef_service_t. If `ptr` already contain a uint8_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer to an address where to store the created uint8_t object. |

#### Returns

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

### idmef_service_unset_iana_protocol_number ()

    void
    idmef_service_unset_iana_protocol_number
                                   (idmef_service_t *ptr);

### idmef_service_get_iana_protocol_number ()

    uint8_t *
    idmef_service_get_iana_protocol_number
                                   (idmef_service_t *ptr);

Get iana_protocol_number children of the idmef_service_t object.

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to a uint8_t object, or NULL if the children object is not set.

### idmef_service_set_iana_protocol_number ()

    void
    idmef_service_set_iana_protocol_number
                                   (idmef_service_t *ptr,
                                    uint8_t iana_protocol_number);

Set `iana_protocol_number` object as a children of `ptr` . if `ptr` already contain an `iana_protocol_number` object, then it is destroyed, and updated to point to the provided `iana_protocol_number` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
iana_protocol_number | pointer to a uint8_t object. |

### idmef_service_new_iana_protocol_number ()

    int
    idmef_service_new_iana_protocol_number
                                   (idmef_service_t *ptr,
                                    uint8_t **ret);

Create a new iana_protocol_number object, children of idmef_service_t. If `ptr` already contain a uint8_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer to an address where to store the created uint8_t object. |

#### Returns

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

### idmef_service_get_iana_protocol_name ()

    prelude_string_t *
    idmef_service_get_iana_protocol_name (idmef_service_t *ptr);

Get iana_protocol_name children of the idmef_service_t object.

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_service_set_iana_protocol_name ()

    void
    idmef_service_set_iana_protocol_name (idmef_service_t *ptr,
                                          prelude_string_t *iana_protocol_name);

Set `iana_protocol_name` object as a children of `ptr` . if `ptr` already contain an `iana_protocol_name` object, then it is destroyed, and updated to point to the provided `iana_protocol_name` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
iana_protocol_name | pointer to a prelude_string_t object. |

### idmef_service_new_iana_protocol_name ()

    int
    idmef_service_new_iana_protocol_name (idmef_service_t *ptr,
                                          prelude_string_t **ret);

Create a new iana_protocol_name object, children of idmef_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_service_get_name ()

    prelude_string_t *
    idmef_service_get_name (idmef_service_t *ptr);

Get name children of the idmef_service_t object.

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_service_set_name ()

    void
    idmef_service_set_name (idmef_service_t *ptr,
                            prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
name | pointer to a prelude_string_t object. |

### idmef_service_new_name ()

    int
    idmef_service_new_name (idmef_service_t *ptr,
                            prelude_string_t **ret);

Create a new name object, children of idmef_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_service_unset_port ()

    void
    idmef_service_unset_port (idmef_service_t *ptr);

### idmef_service_get_port ()

    uint16_t *
    idmef_service_get_port (idmef_service_t *ptr);

Get port children of the idmef_service_t object.

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to a uint16_t object, or NULL if the children object is not set.

### idmef_service_set_port ()

    void
    idmef_service_set_port (idmef_service_t *ptr,
                            uint16_t port);

Set `port` object as a children of `ptr` . if `ptr` already contain an `port` object, then it is destroyed, and updated to point to the provided `port` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
port | pointer to a uint16_t object. |

### idmef_service_new_port ()

    int
    idmef_service_new_port (idmef_service_t *ptr,
                            uint16_t **ret);

Create a new port object, children of idmef_service_t. If `ptr` already contain a uint16_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer to an address where to store the created uint16_t object. |

#### Returns

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

### idmef_service_get_portlist ()

    prelude_string_t *
    idmef_service_get_portlist (idmef_service_t *ptr);

Get portlist children of the idmef_service_t object.

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_service_set_portlist ()

    void
    idmef_service_set_portlist (idmef_service_t *ptr,
                                prelude_string_t *portlist);

Set `portlist` object as a children of `ptr` . if `ptr` already contain an `portlist` object, then it is destroyed, and updated to point to the provided `portlist` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
portlist | pointer to a prelude_string_t object. |

### idmef_service_new_portlist ()

    int
    idmef_service_new_portlist (idmef_service_t *ptr,
                                prelude_string_t **ret);

Create a new portlist object, children of idmef_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_service_get_protocol ()

    prelude_string_t *
    idmef_service_get_protocol (idmef_service_t *ptr);

Get protocol children of the idmef_service_t object.

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_service_set_protocol ()

    void
    idmef_service_set_protocol (idmef_service_t *ptr,
                                prelude_string_t *protocol);

Set `protocol` object as a children of `ptr` . if `ptr` already contain an `protocol` object, then it is destroyed, and updated to point to the provided `protocol` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
protocol | pointer to a prelude_string_t object. |

### idmef_service_new_protocol ()

    int
    idmef_service_new_protocol (idmef_service_t *ptr,
                                prelude_string_t **ret);

Create a new protocol object, children of idmef_service_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_service_get_type ()

    idmef_service_type_t
    idmef_service_get_type (idmef_service_t *ptr);

Access the type children of `ptr` .

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to the idmef_service_type_t children, or NULL if it is not set.

### idmef_service_get_web_service ()

    idmef_web_service_t *
    idmef_service_get_web_service (idmef_service_t *ptr);

Access the web_service children of `ptr` .

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to the idmef_web_service_t children, or NULL if it is not set.

### idmef_service_set_web_service ()

    void
    idmef_service_set_web_service (idmef_service_t *ptr,
                                   idmef_web_service_t *web_service);

Set `web_service` object as a children of `ptr` . if `ptr` already contain a `web_service` object, then it is destroyed, and updated to point to the provided `web_service` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
web_service | pointer to a idmef_web_service_t object. |

### idmef_service_new_web_service ()

    int
    idmef_service_new_web_service (idmef_service_t *ptr,
                                   idmef_web_service_t **ret);

Create a new idmef_web_service_t object, children of idmef_service_t. If `ptr` already contain a idmef_web_service_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer where to store the created idmef_web_service_t object. |

#### Returns

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

### idmef_service_get_snmp_service ()

    idmef_snmp_service_t *
    idmef_service_get_snmp_service (idmef_service_t *ptr);

Access the snmp_service children of `ptr` .

#### Parameters

ptr | pointer to a idmef_service_t object. |

#### Returns

a pointer to the idmef_snmp_service_t children, or NULL if it is not set.

### idmef_service_set_snmp_service ()

    void
    idmef_service_set_snmp_service (idmef_service_t *ptr,
                                    idmef_snmp_service_t *snmp_service);

Set `snmp_service` object as a children of `ptr` . if `ptr` already contain a `snmp_service` object, then it is destroyed, and updated to point to the provided `snmp_service` object.

#### Parameters

ptr | pointer to a idmef_service_t object. |
snmp_service | pointer to a idmef_snmp_service_t object. |

### idmef_service_new_snmp_service ()

    int
    idmef_service_new_snmp_service (idmef_service_t *ptr,
                                    idmef_snmp_service_t **ret);

Create a new idmef_snmp_service_t object, children of idmef_service_t. If `ptr` already contain a idmef_snmp_service_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_service_t object. |
ret | pointer where to store the created idmef_snmp_service_t object. |

#### Returns

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

### idmef_node_category_to_numeric ()

    idmef_node_category_t
    idmef_node_category_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_node_category_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_node_category_to_string ()

    const char *
    idmef_node_category_to_string (idmef_node_category_t val);

Return the IDMEF string equivalent of `val` provided idmef_node_category_t value.

#### Parameters

val | an enumeration value for idmef_node_category_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_node_new ()

    int
    idmef_node_new (idmef_node_t **ret);

Create a new idmef_node_t object.

#### Parameters

ret | Pointer where to store the created idmef_node_t object. |

#### Returns

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

### idmef_node_copy ()

    int
    idmef_node_copy (const idmef_node_t *src,
                     idmef_node_t *dst);

Copy a new idmef_node_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_node_clone ()

    int
    idmef_node_clone (idmef_node_t *src,
                      idmef_node_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_node_ref ()

    idmef_node_t *
    idmef_node_ref (idmef_node_t *node);

Increase `node` reference count, so that it can be referenced multiple time.

#### Parameters

node | pointer to a idmef_node_t object. |

#### Returns

a pointer to `node` .

### idmef_node_destroy ()

    void
    idmef_node_destroy (idmef_node_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_node_t object. |

### idmef_node_get_ident ()

    prelude_string_t *
    idmef_node_get_ident (idmef_node_t *ptr);

Get ident children of the idmef_node_t object.

#### Parameters

ptr | pointer to a idmef_node_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_node_set_ident ()

    void
    idmef_node_set_ident (idmef_node_t *ptr,
                          prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_node_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_node_new_ident ()

    int
    idmef_node_new_ident (idmef_node_t *ptr,
                          prelude_string_t **ret);

Create a new ident object, children of idmef_node_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_node_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_node_get_category ()

    idmef_node_category_t
    idmef_node_get_category (idmef_node_t *ptr);

Get category children of the idmef_node_t object.

#### Parameters

ptr | pointer to a idmef_node_t object. |

#### Returns

a pointer to a idmef_node_category_t object, or NULL if the children object is not set.

### idmef_node_set_category ()

    void
    idmef_node_set_category (idmef_node_t *ptr,
                             idmef_node_category_t category);

Set `category` object as a children of `ptr` . if `ptr` already contain an `category` object, then it is destroyed, and updated to point to the provided `category` object.

#### Parameters

ptr | pointer to a idmef_node_t object. |
category | pointer to a idmef_node_category_t object. |

### idmef_node_new_category ()

    int
    idmef_node_new_category (idmef_node_t *ptr,
                             idmef_node_category_t **ret);

Create a new category object, children of idmef_node_t. If `ptr` already contain a idmef_node_category_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_node_t object. |
ret | pointer to an address where to store the created idmef_node_category_t object. |

#### Returns

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

### idmef_node_get_location ()

    prelude_string_t *
    idmef_node_get_location (idmef_node_t *ptr);

Get location children of the idmef_node_t object.

#### Parameters

ptr | pointer to a idmef_node_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_node_set_location ()

    void
    idmef_node_set_location (idmef_node_t *ptr,
                             prelude_string_t *location);

Set `location` object as a children of `ptr` . if `ptr` already contain an `location` object, then it is destroyed, and updated to point to the provided `location` object.

#### Parameters

ptr | pointer to a idmef_node_t object. |
location | pointer to a prelude_string_t object. |

### idmef_node_new_location ()

    int
    idmef_node_new_location (idmef_node_t *ptr,
                             prelude_string_t **ret);

Create a new location object, children of idmef_node_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_node_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_node_get_name ()

    prelude_string_t *
    idmef_node_get_name (idmef_node_t *ptr);

Get name children of the idmef_node_t object.

#### Parameters

ptr | pointer to a idmef_node_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_node_set_name ()

    void
    idmef_node_set_name (idmef_node_t *ptr,
                         prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_node_t object. |
name | pointer to a prelude_string_t object. |

### idmef_node_new_name ()

    int
    idmef_node_new_name (idmef_node_t *ptr,
                         prelude_string_t **ret);

Create a new name object, children of idmef_node_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_node_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_node_get_next_address ()

    idmef_address_t *
    idmef_node_get_next_address (idmef_node_t *node,
                                 idmef_address_t *address_cur);

Get the next idmef_address_t object listed in `ptr` . When iterating over the idmef_address_t object listed in `ptr` , `object` should be set to the latest returned idmef_address_t object.

#### Parameters

node | pointer to a idmef_node_t object. |
address_cur | pointer to a idmef_address_t object. |

#### Returns

the next idmef_address_t in the list.

### idmef_node_set_address ()

    void
    idmef_node_set_address (idmef_node_t *ptr,
                            idmef_address_t *object,
                            int pos);

Add `object` to position `pos` of `ptr` list of idmef_address_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_node_t object. |
object | pointer to a idmef_address_t object. |
pos | Position in the list. |

### idmef_node_new_address ()

    int
    idmef_node_new_address (idmef_node_t *ptr,
                            idmef_address_t **ret,
                            int pos);

Create a new idmef_address_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_address_t object. The created idmef_address_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_node_t object. |
ret | pointer to an address where to store the created idmef_address_t object. |
pos | position in the list. |

#### Returns

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

### idmef_source_spoofed_to_numeric ()

    idmef_source_spoofed_t
    idmef_source_spoofed_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_source_spoofed_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_source_spoofed_to_string ()

    const char *
    idmef_source_spoofed_to_string (idmef_source_spoofed_t val);

Return the IDMEF string equivalent of `val` provided idmef_source_spoofed_t value.

#### Parameters

val | an enumeration value for idmef_source_spoofed_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_source_new ()

    int
    idmef_source_new (idmef_source_t **ret);

Create a new idmef_source_t object.

#### Parameters

ret | Pointer where to store the created idmef_source_t object. |

#### Returns

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

### idmef_source_copy ()

    int
    idmef_source_copy (const idmef_source_t *src,
                       idmef_source_t *dst);

Copy a new idmef_source_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_source_clone ()

    int
    idmef_source_clone (idmef_source_t *src,
                        idmef_source_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_source_ref ()

    idmef_source_t *
    idmef_source_ref (idmef_source_t *source);

Increase `source` reference count, so that it can be referenced multiple time.

#### Parameters

source | pointer to a idmef_source_t object. |

#### Returns

a pointer to `source` .

### idmef_source_destroy ()

    void
    idmef_source_destroy (idmef_source_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_source_t object. |

### idmef_source_get_ident ()

    prelude_string_t *
    idmef_source_get_ident (idmef_source_t *ptr);

Get ident children of the idmef_source_t object.

#### Parameters

ptr | pointer to a idmef_source_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_source_set_ident ()

    void
    idmef_source_set_ident (idmef_source_t *ptr,
                            prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_source_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_source_new_ident ()

    int
    idmef_source_new_ident (idmef_source_t *ptr,
                            prelude_string_t **ret);

Create a new ident object, children of idmef_source_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_source_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_source_get_spoofed ()

    idmef_source_spoofed_t
    idmef_source_get_spoofed (idmef_source_t *ptr);

Get spoofed children of the idmef_source_t object.

#### Parameters

ptr | pointer to a idmef_source_t object. |

#### Returns

a pointer to a idmef_source_spoofed_t object, or NULL if the children object is not set.

### idmef_source_set_spoofed ()

    void
    idmef_source_set_spoofed (idmef_source_t *ptr,
                              idmef_source_spoofed_t spoofed);

Set `spoofed` object as a children of `ptr` . if `ptr` already contain an `spoofed` object, then it is destroyed, and updated to point to the provided `spoofed` object.

#### Parameters

ptr | pointer to a idmef_source_t object. |
spoofed | pointer to a idmef_source_spoofed_t object. |

### idmef_source_new_spoofed ()

    int
    idmef_source_new_spoofed (idmef_source_t *ptr,
                              idmef_source_spoofed_t **ret);

Create a new spoofed object, children of idmef_source_t. If `ptr` already contain a idmef_source_spoofed_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_source_t object. |
ret | pointer to an address where to store the created idmef_source_spoofed_t object. |

#### Returns

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

### idmef_source_get_interface ()

    prelude_string_t *
    idmef_source_get_interface (idmef_source_t *ptr);

Get interface children of the idmef_source_t object.

#### Parameters

ptr | pointer to a idmef_source_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_source_set_interface ()

    void
    idmef_source_set_interface (idmef_source_t *ptr,
                                prelude_string_t *interface);

Set `interface` object as a children of `ptr` . if `ptr` already contain an `interface` object, then it is destroyed, and updated to point to the provided `interface` object.

#### Parameters

ptr | pointer to a idmef_source_t object. |
interface | pointer to a prelude_string_t object. |

### idmef_source_new_interface ()

    int
    idmef_source_new_interface (idmef_source_t *ptr,
                                prelude_string_t **ret);

Create a new interface object, children of idmef_source_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_source_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_source_get_node ()

    idmef_node_t *
    idmef_source_get_node (idmef_source_t *ptr);

Get node children of the idmef_source_t object.

#### Parameters

ptr | pointer to a idmef_source_t object. |

#### Returns

a pointer to a idmef_node_t object, or NULL if the children object is not set.

### idmef_source_set_node ()

    void
    idmef_source_set_node (idmef_source_t *ptr,
                           idmef_node_t *node);

Set `node` object as a children of `ptr` . if `ptr` already contain an `node` object, then it is destroyed, and updated to point to the provided `node` object.

#### Parameters

ptr | pointer to a idmef_source_t object. |
node | pointer to a idmef_node_t object. |

### idmef_source_new_node ()

    int
    idmef_source_new_node (idmef_source_t *ptr,
                           idmef_node_t **ret);

Create a new node object, children of idmef_source_t. If `ptr` already contain a idmef_node_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_source_t object. |
ret | pointer to an address where to store the created idmef_node_t object. |

#### Returns

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

### idmef_source_get_user ()

    idmef_user_t *
    idmef_source_get_user (idmef_source_t *ptr);

Get user children of the idmef_source_t object.

#### Parameters

ptr | pointer to a idmef_source_t object. |

#### Returns

a pointer to a idmef_user_t object, or NULL if the children object is not set.

### idmef_source_set_user ()

    void
    idmef_source_set_user (idmef_source_t *ptr,
                           idmef_user_t *user);

Set `user` object as a children of `ptr` . if `ptr` already contain an `user` object, then it is destroyed, and updated to point to the provided `user` object.

#### Parameters

ptr | pointer to a idmef_source_t object. |
user | pointer to a idmef_user_t object. |

### idmef_source_new_user ()

    int
    idmef_source_new_user (idmef_source_t *ptr,
                           idmef_user_t **ret);

Create a new user object, children of idmef_source_t. If `ptr` already contain a idmef_user_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_source_t object. |
ret | pointer to an address where to store the created idmef_user_t object. |

#### Returns

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

### idmef_source_get_process ()

    idmef_process_t *
    idmef_source_get_process (idmef_source_t *ptr);

Get process children of the idmef_source_t object.

#### Parameters

ptr | pointer to a idmef_source_t object. |

#### Returns

a pointer to a idmef_process_t object, or NULL if the children object is not set.

### idmef_source_set_process ()

    void
    idmef_source_set_process (idmef_source_t *ptr,
                              idmef_process_t *process);

Set `process` object as a children of `ptr` . if `ptr` already contain an `process` object, then it is destroyed, and updated to point to the provided `process` object.

#### Parameters

ptr | pointer to a idmef_source_t object. |
process | pointer to a idmef_process_t object. |

### idmef_source_new_process ()

    int
    idmef_source_new_process (idmef_source_t *ptr,
                              idmef_process_t **ret);

Create a new process object, children of idmef_source_t. If `ptr` already contain a idmef_process_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_source_t object. |
ret | pointer to an address where to store the created idmef_process_t object. |

#### Returns

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

### idmef_source_get_service ()

    idmef_service_t *
    idmef_source_get_service (idmef_source_t *ptr);

Get service children of the idmef_source_t object.

#### Parameters

ptr | pointer to a idmef_source_t object. |

#### Returns

a pointer to a idmef_service_t object, or NULL if the children object is not set.

### idmef_source_set_service ()

    void
    idmef_source_set_service (idmef_source_t *ptr,
                              idmef_service_t *service);

Set `service` object as a children of `ptr` . if `ptr` already contain an `service` object, then it is destroyed, and updated to point to the provided `service` object.

#### Parameters

ptr | pointer to a idmef_source_t object. |
service | pointer to a idmef_service_t object. |

### idmef_source_new_service ()

    int
    idmef_source_new_service (idmef_source_t *ptr,
                              idmef_service_t **ret);

Create a new service object, children of idmef_source_t. If `ptr` already contain a idmef_service_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_source_t object. |
ret | pointer to an address where to store the created idmef_service_t object. |

#### Returns

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

### idmef_file_access_new ()

    int
    idmef_file_access_new (idmef_file_access_t **ret);

Create a new idmef_file_access_t object.

#### Parameters

ret | Pointer where to store the created idmef_file_access_t object. |

#### Returns

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

### idmef_file_access_copy ()

    int
    idmef_file_access_copy (const idmef_file_access_t *src,
                            idmef_file_access_t *dst);

Copy a new idmef_file_access_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_file_access_clone ()

    int
    idmef_file_access_clone (idmef_file_access_t *src,
                             idmef_file_access_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_file_access_ref ()

    idmef_file_access_t *
    idmef_file_access_ref (idmef_file_access_t *file_access);

Increase `file_access` reference count, so that it can be referenced multiple time.

#### Parameters

file_access | pointer to a idmef_file_access_t object. |

#### Returns

a pointer to `file_access` .

### idmef_file_access_destroy ()

    void
    idmef_file_access_destroy (idmef_file_access_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_file_access_t object. |

### idmef_file_access_get_user_id ()

    idmef_user_id_t *
    idmef_file_access_get_user_id (idmef_file_access_t *ptr);

Get user_id children of the idmef_file_access_t object.

#### Parameters

ptr | pointer to a idmef_file_access_t object. |

#### Returns

a pointer to a idmef_user_id_t object, or NULL if the children object is not set.

### idmef_file_access_set_user_id ()

    void
    idmef_file_access_set_user_id (idmef_file_access_t *ptr,
                                   idmef_user_id_t *user_id);

Set `user_id` object as a children of `ptr` . if `ptr` already contain an `user_id` object, then it is destroyed, and updated to point to the provided `user_id` object.

#### Parameters

ptr | pointer to a idmef_file_access_t object. |
user_id | pointer to a idmef_user_id_t object. |

### idmef_file_access_new_user_id ()

    int
    idmef_file_access_new_user_id (idmef_file_access_t *ptr,
                                   idmef_user_id_t **ret);

Create a new user_id object, children of idmef_file_access_t. If `ptr` already contain a idmef_user_id_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_access_t object. |
ret | pointer to an address where to store the created idmef_user_id_t object. |

#### Returns

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

### idmef_file_access_get_next_permission ()

    prelude_string_t *
    idmef_file_access_get_next_permission (idmef_file_access_t *file_access,
                                           prelude_string_t *prelude_string_cur);

Get the next prelude_string_t object listed in `ptr` . When iterating over the prelude_string_t object listed in `ptr` , `object` should be set to the latest returned prelude_string_t object.

#### Parameters

file_access | pointer to a idmef_file_access_t object. |
prelude_string_cur | pointer to a prelude_string_t object. |

#### Returns

the next prelude_string_t in the list.

### idmef_file_access_set_permission ()

    void
    idmef_file_access_set_permission (idmef_file_access_t *ptr,
                                      prelude_string_t *object,
                                      int pos);

Add `object` to position `pos` of `ptr` list of prelude_string_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_file_access_t object. |
object | pointer to a prelude_string_t object. |
pos | Position in the list. |

### idmef_file_access_new_permission ()

    int
    idmef_file_access_new_permission (idmef_file_access_t *ptr,
                                      prelude_string_t **ret,
                                      int pos);

Create a new prelude_string_t children of `ptr` , and add it to position `pos` of `ptr` list of prelude_string_t object. The created prelude_string_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_file_access_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |
pos | position in the list. |

#### Returns

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

### idmef_inode_new ()

    int
    idmef_inode_new (idmef_inode_t **ret);

Create a new idmef_inode_t object.

#### Parameters

ret | Pointer where to store the created idmef_inode_t object. |

#### Returns

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

### idmef_inode_copy ()

    int
    idmef_inode_copy (const idmef_inode_t *src,
                      idmef_inode_t *dst);

Copy a new idmef_inode_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_inode_clone ()

    int
    idmef_inode_clone (idmef_inode_t *src,
                       idmef_inode_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_inode_ref ()

    idmef_inode_t *
    idmef_inode_ref (idmef_inode_t *inode);

Increase `inode` reference count, so that it can be referenced multiple time.

#### Parameters

inode | pointer to a idmef_inode_t object. |

#### Returns

a pointer to `inode` .

### idmef_inode_destroy ()

    void
    idmef_inode_destroy (idmef_inode_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_inode_t object. |

### idmef_inode_get_change_time ()

    idmef_time_t *
    idmef_inode_get_change_time (idmef_inode_t *ptr);

Get change_time children of the idmef_inode_t object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_inode_set_change_time ()

    void
    idmef_inode_set_change_time (idmef_inode_t *ptr,
                                 idmef_time_t *change_time);

Set `change_time` object as a children of `ptr` . if `ptr` already contain an `change_time` object, then it is destroyed, and updated to point to the provided `change_time` object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
change_time | pointer to a idmef_time_t object. |

### idmef_inode_new_change_time ()

    int
    idmef_inode_new_change_time (idmef_inode_t *ptr,
                                 idmef_time_t **ret);

Create a new change_time object, children of idmef_inode_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_inode_unset_number ()

    void
    idmef_inode_unset_number (idmef_inode_t *ptr);

### idmef_inode_get_number ()

    uint32_t *
    idmef_inode_get_number (idmef_inode_t *ptr);

Get number children of the idmef_inode_t object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_inode_set_number ()

    void
    idmef_inode_set_number (idmef_inode_t *ptr,
                            uint32_t number);

Set `number` object as a children of `ptr` . if `ptr` already contain an `number` object, then it is destroyed, and updated to point to the provided `number` object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
number | pointer to a uint32_t object. |

### idmef_inode_new_number ()

    int
    idmef_inode_new_number (idmef_inode_t *ptr,
                            uint32_t **ret);

Create a new number object, children of idmef_inode_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_inode_unset_major_device ()

    void
    idmef_inode_unset_major_device (idmef_inode_t *ptr);

### idmef_inode_get_major_device ()

    uint32_t *
    idmef_inode_get_major_device (idmef_inode_t *ptr);

Get major_device children of the idmef_inode_t object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_inode_set_major_device ()

    void
    idmef_inode_set_major_device (idmef_inode_t *ptr,
                                  uint32_t major_device);

Set `major_device` object as a children of `ptr` . if `ptr` already contain an `major_device` object, then it is destroyed, and updated to point to the provided `major_device` object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
major_device | pointer to a uint32_t object. |

### idmef_inode_new_major_device ()

    int
    idmef_inode_new_major_device (idmef_inode_t *ptr,
                                  uint32_t **ret);

Create a new major_device object, children of idmef_inode_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_inode_unset_minor_device ()

    void
    idmef_inode_unset_minor_device (idmef_inode_t *ptr);

### idmef_inode_get_minor_device ()

    uint32_t *
    idmef_inode_get_minor_device (idmef_inode_t *ptr);

Get minor_device children of the idmef_inode_t object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_inode_set_minor_device ()

    void
    idmef_inode_set_minor_device (idmef_inode_t *ptr,
                                  uint32_t minor_device);

Set `minor_device` object as a children of `ptr` . if `ptr` already contain an `minor_device` object, then it is destroyed, and updated to point to the provided `minor_device` object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
minor_device | pointer to a uint32_t object. |

### idmef_inode_new_minor_device ()

    int
    idmef_inode_new_minor_device (idmef_inode_t *ptr,
                                  uint32_t **ret);

Create a new minor_device object, children of idmef_inode_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_inode_unset_c_major_device ()

    void
    idmef_inode_unset_c_major_device (idmef_inode_t *ptr);

### idmef_inode_get_c_major_device ()

    uint32_t *
    idmef_inode_get_c_major_device (idmef_inode_t *ptr);

Get c_major_device children of the idmef_inode_t object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_inode_set_c_major_device ()

    void
    idmef_inode_set_c_major_device (idmef_inode_t *ptr,
                                    uint32_t c_major_device);

Set `c_major_device` object as a children of `ptr` . if `ptr` already contain an `c_major_device` object, then it is destroyed, and updated to point to the provided `c_major_device` object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
c_major_device | pointer to a uint32_t object. |

### idmef_inode_new_c_major_device ()

    int
    idmef_inode_new_c_major_device (idmef_inode_t *ptr,
                                    uint32_t **ret);

Create a new c_major_device object, children of idmef_inode_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_inode_unset_c_minor_device ()

    void
    idmef_inode_unset_c_minor_device (idmef_inode_t *ptr);

### idmef_inode_get_c_minor_device ()

    uint32_t *
    idmef_inode_get_c_minor_device (idmef_inode_t *ptr);

Get c_minor_device children of the idmef_inode_t object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_inode_set_c_minor_device ()

    void
    idmef_inode_set_c_minor_device (idmef_inode_t *ptr,
                                    uint32_t c_minor_device);

Set `c_minor_device` object as a children of `ptr` . if `ptr` already contain an `c_minor_device` object, then it is destroyed, and updated to point to the provided `c_minor_device` object.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
c_minor_device | pointer to a uint32_t object. |

### idmef_inode_new_c_minor_device ()

    int
    idmef_inode_new_c_minor_device (idmef_inode_t *ptr,
                                    uint32_t **ret);

Create a new c_minor_device object, children of idmef_inode_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_inode_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_checksum_algorithm_to_numeric ()

    idmef_checksum_algorithm_t
    idmef_checksum_algorithm_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_checksum_algorithm_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_checksum_algorithm_to_string ()

    const char *
    idmef_checksum_algorithm_to_string (idmef_checksum_algorithm_t val);

Return the IDMEF string equivalent of `val` provided idmef_checksum_algorithm_t value.

#### Parameters

val | an enumeration value for idmef_checksum_algorithm_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_checksum_new ()

    int
    idmef_checksum_new (idmef_checksum_t **ret);

Create a new idmef_checksum_t object.

#### Parameters

ret | Pointer where to store the created idmef_checksum_t object. |

#### Returns

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

### idmef_checksum_copy ()

    int
    idmef_checksum_copy (const idmef_checksum_t *src,
                         idmef_checksum_t *dst);

Copy a new idmef_checksum_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_checksum_clone ()

    int
    idmef_checksum_clone (idmef_checksum_t *src,
                          idmef_checksum_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_checksum_ref ()

    idmef_checksum_t *
    idmef_checksum_ref (idmef_checksum_t *checksum);

Increase `checksum` reference count, so that it can be referenced multiple time.

#### Parameters

checksum | pointer to a idmef_checksum_t object. |

#### Returns

a pointer to `checksum` .

### idmef_checksum_destroy ()

    void
    idmef_checksum_destroy (idmef_checksum_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |

### idmef_checksum_get_value ()

    prelude_string_t *
    idmef_checksum_get_value (idmef_checksum_t *ptr);

Get value children of the idmef_checksum_t object.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_checksum_set_value ()

    void
    idmef_checksum_set_value (idmef_checksum_t *ptr,
                              prelude_string_t *value);

Set `value` object as a children of `ptr` . if `ptr` already contain an `value` object, then it is destroyed, and updated to point to the provided `value` object.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |
value | pointer to a prelude_string_t object. |

### idmef_checksum_new_value ()

    int
    idmef_checksum_new_value (idmef_checksum_t *ptr,
                              prelude_string_t **ret);

Create a new value object, children of idmef_checksum_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_checksum_get_key ()

    prelude_string_t *
    idmef_checksum_get_key (idmef_checksum_t *ptr);

Get key children of the idmef_checksum_t object.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_checksum_set_key ()

    void
    idmef_checksum_set_key (idmef_checksum_t *ptr,
                            prelude_string_t *key);

Set `key` object as a children of `ptr` . if `ptr` already contain an `key` object, then it is destroyed, and updated to point to the provided `key` object.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |
key | pointer to a prelude_string_t object. |

### idmef_checksum_new_key ()

    int
    idmef_checksum_new_key (idmef_checksum_t *ptr,
                            prelude_string_t **ret);

Create a new key object, children of idmef_checksum_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_checksum_get_algorithm ()

    idmef_checksum_algorithm_t
    idmef_checksum_get_algorithm (idmef_checksum_t *ptr);

Get algorithm children of the idmef_checksum_t object.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |

#### Returns

a pointer to a idmef_checksum_algorithm_t object, or NULL if the children object is not set.

### idmef_checksum_set_algorithm ()

    void
    idmef_checksum_set_algorithm (idmef_checksum_t *ptr,
                                  idmef_checksum_algorithm_t algorithm);

Set `algorithm` object as a children of `ptr` . if `ptr` already contain an `algorithm` object, then it is destroyed, and updated to point to the provided `algorithm` object.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |
algorithm | pointer to a idmef_checksum_algorithm_t object. |

### idmef_checksum_new_algorithm ()

    int
    idmef_checksum_new_algorithm (idmef_checksum_t *ptr,
                                  idmef_checksum_algorithm_t **ret);

Create a new algorithm object, children of idmef_checksum_t. If `ptr` already contain a idmef_checksum_algorithm_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_checksum_t object. |
ret | pointer to an address where to store the created idmef_checksum_algorithm_t object. |

#### Returns

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

### idmef_file_category_to_numeric ()

    idmef_file_category_t
    idmef_file_category_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_file_category_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_file_category_to_string ()

    const char *
    idmef_file_category_to_string (idmef_file_category_t val);

Return the IDMEF string equivalent of `val` provided idmef_file_category_t value.

#### Parameters

val | an enumeration value for idmef_file_category_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_file_fstype_to_numeric ()

    idmef_file_fstype_t
    idmef_file_fstype_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_file_fstype_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_file_fstype_to_string ()

    const char *
    idmef_file_fstype_to_string (idmef_file_fstype_t val);

Return the IDMEF string equivalent of `val` provided idmef_file_fstype_t value.

#### Parameters

val | an enumeration value for idmef_file_fstype_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_file_new ()

    int
    idmef_file_new (idmef_file_t **ret);

Create a new idmef_file_t object.

#### Parameters

ret | Pointer where to store the created idmef_file_t object. |

#### Returns

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

### idmef_file_copy ()

    int
    idmef_file_copy (const idmef_file_t *src,
                     idmef_file_t *dst);

Copy a new idmef_file_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_file_clone ()

    int
    idmef_file_clone (idmef_file_t *src,
                      idmef_file_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_file_ref ()

    idmef_file_t *
    idmef_file_ref (idmef_file_t *file);

Increase `file` reference count, so that it can be referenced multiple time.

#### Parameters

file | pointer to a idmef_file_t object. |

#### Returns

a pointer to `file` .

### idmef_file_destroy ()

    void
    idmef_file_destroy (idmef_file_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_file_t object. |

### idmef_file_get_ident ()

    prelude_string_t *
    idmef_file_get_ident (idmef_file_t *ptr);

Get ident children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_file_set_ident ()

    void
    idmef_file_set_ident (idmef_file_t *ptr,
                          prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_file_new_ident ()

    int
    idmef_file_new_ident (idmef_file_t *ptr,
                          prelude_string_t **ret);

Create a new ident object, children of idmef_file_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_file_get_name ()

    prelude_string_t *
    idmef_file_get_name (idmef_file_t *ptr);

Get name children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_file_set_name ()

    void
    idmef_file_set_name (idmef_file_t *ptr,
                         prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
name | pointer to a prelude_string_t object. |

### idmef_file_new_name ()

    int
    idmef_file_new_name (idmef_file_t *ptr,
                         prelude_string_t **ret);

Create a new name object, children of idmef_file_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_file_get_path ()

    prelude_string_t *
    idmef_file_get_path (idmef_file_t *ptr);

Get path children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_file_set_path ()

    void
    idmef_file_set_path (idmef_file_t *ptr,
                         prelude_string_t *path);

Set `path` object as a children of `ptr` . if `ptr` already contain an `path` object, then it is destroyed, and updated to point to the provided `path` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
path | pointer to a prelude_string_t object. |

### idmef_file_new_path ()

    int
    idmef_file_new_path (idmef_file_t *ptr,
                         prelude_string_t **ret);

Create a new path object, children of idmef_file_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_file_get_create_time ()

    idmef_time_t *
    idmef_file_get_create_time (idmef_file_t *ptr);

Get create_time children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_file_set_create_time ()

    void
    idmef_file_set_create_time (idmef_file_t *ptr,
                                idmef_time_t *create_time);

Set `create_time` object as a children of `ptr` . if `ptr` already contain an `create_time` object, then it is destroyed, and updated to point to the provided `create_time` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
create_time | pointer to a idmef_time_t object. |

### idmef_file_new_create_time ()

    int
    idmef_file_new_create_time (idmef_file_t *ptr,
                                idmef_time_t **ret);

Create a new create_time object, children of idmef_file_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_file_get_modify_time ()

    idmef_time_t *
    idmef_file_get_modify_time (idmef_file_t *ptr);

Get modify_time children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_file_set_modify_time ()

    void
    idmef_file_set_modify_time (idmef_file_t *ptr,
                                idmef_time_t *modify_time);

Set `modify_time` object as a children of `ptr` . if `ptr` already contain an `modify_time` object, then it is destroyed, and updated to point to the provided `modify_time` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
modify_time | pointer to a idmef_time_t object. |

### idmef_file_new_modify_time ()

    int
    idmef_file_new_modify_time (idmef_file_t *ptr,
                                idmef_time_t **ret);

Create a new modify_time object, children of idmef_file_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_file_get_access_time ()

    idmef_time_t *
    idmef_file_get_access_time (idmef_file_t *ptr);

Get access_time children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_file_set_access_time ()

    void
    idmef_file_set_access_time (idmef_file_t *ptr,
                                idmef_time_t *access_time);

Set `access_time` object as a children of `ptr` . if `ptr` already contain an `access_time` object, then it is destroyed, and updated to point to the provided `access_time` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
access_time | pointer to a idmef_time_t object. |

### idmef_file_new_access_time ()

    int
    idmef_file_new_access_time (idmef_file_t *ptr,
                                idmef_time_t **ret);

Create a new access_time object, children of idmef_file_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_file_unset_data_size ()

    void
    idmef_file_unset_data_size (idmef_file_t *ptr);

### idmef_file_get_data_size ()

    uint64_t *
    idmef_file_get_data_size (idmef_file_t *ptr);

Get data_size children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a uint64_t object, or NULL if the children object is not set.

### idmef_file_set_data_size ()

    void
    idmef_file_set_data_size (idmef_file_t *ptr,
                              uint64_t data_size);

Set `data_size` object as a children of `ptr` . if `ptr` already contain an `data_size` object, then it is destroyed, and updated to point to the provided `data_size` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
data_size | pointer to a uint64_t object. |

### idmef_file_new_data_size ()

    int
    idmef_file_new_data_size (idmef_file_t *ptr,
                              uint64_t **ret);

Create a new data_size object, children of idmef_file_t. If `ptr` already contain a uint64_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created uint64_t object. |

#### Returns

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

### idmef_file_unset_disk_size ()

    void
    idmef_file_unset_disk_size (idmef_file_t *ptr);

### idmef_file_get_disk_size ()

    uint64_t *
    idmef_file_get_disk_size (idmef_file_t *ptr);

Get disk_size children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a uint64_t object, or NULL if the children object is not set.

### idmef_file_set_disk_size ()

    void
    idmef_file_set_disk_size (idmef_file_t *ptr,
                              uint64_t disk_size);

Set `disk_size` object as a children of `ptr` . if `ptr` already contain an `disk_size` object, then it is destroyed, and updated to point to the provided `disk_size` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
disk_size | pointer to a uint64_t object. |

### idmef_file_new_disk_size ()

    int
    idmef_file_new_disk_size (idmef_file_t *ptr,
                              uint64_t **ret);

Create a new disk_size object, children of idmef_file_t. If `ptr` already contain a uint64_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created uint64_t object. |

#### Returns

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

### idmef_file_get_next_file_access ()

    idmef_file_access_t *
    idmef_file_get_next_file_access (idmef_file_t *file,
                                     idmef_file_access_t *file_access_cur);

Get the next idmef_file_access_t object listed in `ptr` . When iterating over the idmef_file_access_t object listed in `ptr` , `object` should be set to the latest returned idmef_file_access_t object.

#### Parameters

file | pointer to a idmef_file_t object. |
file_access_cur | pointer to a idmef_file_access_t object. |

#### Returns

the next idmef_file_access_t in the list.

### idmef_file_set_file_access ()

    void
    idmef_file_set_file_access (idmef_file_t *ptr,
                                idmef_file_access_t *object,
                                int pos);

Add `object` to position `pos` of `ptr` list of idmef_file_access_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_file_t object. |
object | pointer to a idmef_file_access_t object. |
pos | Position in the list. |

### idmef_file_new_file_access ()

    int
    idmef_file_new_file_access (idmef_file_t *ptr,
                                idmef_file_access_t **ret,
                                int pos);

Create a new idmef_file_access_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_file_access_t object. The created idmef_file_access_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_file_access_t object. |
pos | position in the list. |

#### Returns

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

### idmef_file_get_next_linkage ()

    idmef_linkage_t *
    idmef_file_get_next_linkage (idmef_file_t *file,
                                 idmef_linkage_t *linkage_cur);

Get the next idmef_linkage_t object listed in `ptr` . When iterating over the idmef_linkage_t object listed in `ptr` , `object` should be set to the latest returned idmef_linkage_t object.

#### Parameters

file | pointer to a idmef_file_t object. |
linkage_cur | pointer to a idmef_linkage_t object. |

#### Returns

the next idmef_linkage_t in the list.

### idmef_file_set_linkage ()

    void
    idmef_file_set_linkage (idmef_file_t *ptr,
                            idmef_linkage_t *object,
                            int pos);

Add `object` to position `pos` of `ptr` list of idmef_linkage_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_file_t object. |
object | pointer to a idmef_linkage_t object. |
pos | Position in the list. |

### idmef_file_new_linkage ()

    int
    idmef_file_new_linkage (idmef_file_t *ptr,
                            idmef_linkage_t **ret,
                            int pos);

Create a new idmef_linkage_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_linkage_t object. The created idmef_linkage_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_linkage_t object. |
pos | position in the list. |

#### Returns

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

### idmef_file_get_inode ()

    idmef_inode_t *
    idmef_file_get_inode (idmef_file_t *ptr);

Get inode children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a idmef_inode_t object, or NULL if the children object is not set.

### idmef_file_set_inode ()

    void
    idmef_file_set_inode (idmef_file_t *ptr,
                          idmef_inode_t *inode);

Set `inode` object as a children of `ptr` . if `ptr` already contain an `inode` object, then it is destroyed, and updated to point to the provided `inode` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
inode | pointer to a idmef_inode_t object. |

### idmef_file_new_inode ()

    int
    idmef_file_new_inode (idmef_file_t *ptr,
                          idmef_inode_t **ret);

Create a new inode object, children of idmef_file_t. If `ptr` already contain a idmef_inode_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_inode_t object. |

#### Returns

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

### idmef_file_get_next_checksum ()

    idmef_checksum_t *
    idmef_file_get_next_checksum (idmef_file_t *file,
                                  idmef_checksum_t *checksum_cur);

Get the next idmef_checksum_t object listed in `ptr` . When iterating over the idmef_checksum_t object listed in `ptr` , `object` should be set to the latest returned idmef_checksum_t object.

#### Parameters

file | pointer to a idmef_file_t object. |
checksum_cur | pointer to a idmef_checksum_t object. |

#### Returns

the next idmef_checksum_t in the list.

### idmef_file_set_checksum ()

    void
    idmef_file_set_checksum (idmef_file_t *ptr,
                             idmef_checksum_t *object,
                             int pos);

Add `object` to position `pos` of `ptr` list of idmef_checksum_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_file_t object. |
object | pointer to a idmef_checksum_t object. |
pos | Position in the list. |

### idmef_file_new_checksum ()

    int
    idmef_file_new_checksum (idmef_file_t *ptr,
                             idmef_checksum_t **ret,
                             int pos);

Create a new idmef_checksum_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_checksum_t object. The created idmef_checksum_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_checksum_t object. |
pos | position in the list. |

#### Returns

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

### idmef_file_get_category ()

    idmef_file_category_t
    idmef_file_get_category (idmef_file_t *ptr);

Get category children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a idmef_file_category_t object, or NULL if the children object is not set.

### idmef_file_set_category ()

    void
    idmef_file_set_category (idmef_file_t *ptr,
                             idmef_file_category_t category);

Set `category` object as a children of `ptr` . if `ptr` already contain an `category` object, then it is destroyed, and updated to point to the provided `category` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
category | pointer to a idmef_file_category_t object. |

### idmef_file_new_category ()

    int
    idmef_file_new_category (idmef_file_t *ptr,
                             idmef_file_category_t **ret);

Create a new category object, children of idmef_file_t. If `ptr` already contain a idmef_file_category_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_file_category_t object. |

#### Returns

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

### idmef_file_unset_fstype ()

    void
    idmef_file_unset_fstype (idmef_file_t *ptr);

### idmef_file_get_fstype ()

    idmef_file_fstype_t *
    idmef_file_get_fstype (idmef_file_t *ptr);

Get fstype children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a idmef_file_fstype_t object, or NULL if the children object is not set.

### idmef_file_set_fstype ()

    void
    idmef_file_set_fstype (idmef_file_t *ptr,
                           idmef_file_fstype_t fstype);

Set `fstype` object as a children of `ptr` . if `ptr` already contain an `fstype` object, then it is destroyed, and updated to point to the provided `fstype` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
fstype | pointer to a idmef_file_fstype_t object. |

### idmef_file_new_fstype ()

    int
    idmef_file_new_fstype (idmef_file_t *ptr,
                           idmef_file_fstype_t **ret);

Create a new fstype object, children of idmef_file_t. If `ptr` already contain a idmef_file_fstype_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created idmef_file_fstype_t object. |

#### Returns

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

### idmef_file_get_file_type ()

    prelude_string_t *
    idmef_file_get_file_type (idmef_file_t *ptr);

Get file_type children of the idmef_file_t object.

#### Parameters

ptr | pointer to a idmef_file_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_file_set_file_type ()

    void
    idmef_file_set_file_type (idmef_file_t *ptr,
                              prelude_string_t *file_type);

Set `file_type` object as a children of `ptr` . if `ptr` already contain an `file_type` object, then it is destroyed, and updated to point to the provided `file_type` object.

#### Parameters

ptr | pointer to a idmef_file_t object. |
file_type | pointer to a prelude_string_t object. |

### idmef_file_new_file_type ()

    int
    idmef_file_new_file_type (idmef_file_t *ptr,
                              prelude_string_t **ret);

Create a new file_type object, children of idmef_file_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_file_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_linkage_category_to_numeric ()

    idmef_linkage_category_t
    idmef_linkage_category_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_linkage_category_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_linkage_category_to_string ()

    const char *
    idmef_linkage_category_to_string (idmef_linkage_category_t val);

Return the IDMEF string equivalent of `val` provided idmef_linkage_category_t value.

#### Parameters

val | an enumeration value for idmef_linkage_category_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_linkage_new ()

    int
    idmef_linkage_new (idmef_linkage_t **ret);

Create a new idmef_linkage_t object.

#### Parameters

ret | Pointer where to store the created idmef_linkage_t object. |

#### Returns

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

### idmef_linkage_copy ()

    int
    idmef_linkage_copy (const idmef_linkage_t *src,
                        idmef_linkage_t *dst);

Copy a new idmef_linkage_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_linkage_clone ()

    int
    idmef_linkage_clone (idmef_linkage_t *src,
                         idmef_linkage_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_linkage_ref ()

    idmef_linkage_t *
    idmef_linkage_ref (idmef_linkage_t *linkage);

Increase `linkage` reference count, so that it can be referenced multiple time.

#### Parameters

linkage | pointer to a idmef_linkage_t object. |

#### Returns

a pointer to `linkage` .

### idmef_linkage_destroy ()

    void
    idmef_linkage_destroy (idmef_linkage_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |

### idmef_linkage_get_category ()

    idmef_linkage_category_t
    idmef_linkage_get_category (idmef_linkage_t *ptr);

Get category children of the idmef_linkage_t object.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |

#### Returns

a pointer to a idmef_linkage_category_t object, or NULL if the children object is not set.

### idmef_linkage_set_category ()

    void
    idmef_linkage_set_category (idmef_linkage_t *ptr,
                                idmef_linkage_category_t category);

Set `category` object as a children of `ptr` . if `ptr` already contain an `category` object, then it is destroyed, and updated to point to the provided `category` object.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |
category | pointer to a idmef_linkage_category_t object. |

### idmef_linkage_new_category ()

    int
    idmef_linkage_new_category (idmef_linkage_t *ptr,
                                idmef_linkage_category_t **ret);

Create a new category object, children of idmef_linkage_t. If `ptr` already contain a idmef_linkage_category_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |
ret | pointer to an address where to store the created idmef_linkage_category_t object. |

#### Returns

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

### idmef_linkage_get_name ()

    prelude_string_t *
    idmef_linkage_get_name (idmef_linkage_t *ptr);

Get name children of the idmef_linkage_t object.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_linkage_set_name ()

    void
    idmef_linkage_set_name (idmef_linkage_t *ptr,
                            prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |
name | pointer to a prelude_string_t object. |

### idmef_linkage_new_name ()

    int
    idmef_linkage_new_name (idmef_linkage_t *ptr,
                            prelude_string_t **ret);

Create a new name object, children of idmef_linkage_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_linkage_get_path ()

    prelude_string_t *
    idmef_linkage_get_path (idmef_linkage_t *ptr);

Get path children of the idmef_linkage_t object.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_linkage_set_path ()

    void
    idmef_linkage_set_path (idmef_linkage_t *ptr,
                            prelude_string_t *path);

Set `path` object as a children of `ptr` . if `ptr` already contain an `path` object, then it is destroyed, and updated to point to the provided `path` object.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |
path | pointer to a prelude_string_t object. |

### idmef_linkage_new_path ()

    int
    idmef_linkage_new_path (idmef_linkage_t *ptr,
                            prelude_string_t **ret);

Create a new path object, children of idmef_linkage_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_linkage_get_file ()

    idmef_file_t *
    idmef_linkage_get_file (idmef_linkage_t *ptr);

Get file children of the idmef_linkage_t object.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |

#### Returns

a pointer to a idmef_file_t object, or NULL if the children object is not set.

### idmef_linkage_set_file ()

    void
    idmef_linkage_set_file (idmef_linkage_t *ptr,
                            idmef_file_t *file);

Set `file` object as a children of `ptr` . if `ptr` already contain an `file` object, then it is destroyed, and updated to point to the provided `file` object.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |
file | pointer to a idmef_file_t object. |

### idmef_linkage_new_file ()

    int
    idmef_linkage_new_file (idmef_linkage_t *ptr,
                            idmef_file_t **ret);

Create a new file object, children of idmef_linkage_t. If `ptr` already contain a idmef_file_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_linkage_t object. |
ret | pointer to an address where to store the created idmef_file_t object. |

#### Returns

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

### idmef_target_decoy_to_numeric ()

    idmef_target_decoy_t
    idmef_target_decoy_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_target_decoy_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_target_decoy_to_string ()

    const char *
    idmef_target_decoy_to_string (idmef_target_decoy_t val);

Return the IDMEF string equivalent of `val` provided idmef_target_decoy_t value.

#### Parameters

val | an enumeration value for idmef_target_decoy_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_target_new ()

    int
    idmef_target_new (idmef_target_t **ret);

Create a new idmef_target_t object.

#### Parameters

ret | Pointer where to store the created idmef_target_t object. |

#### Returns

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

### idmef_target_copy ()

    int
    idmef_target_copy (const idmef_target_t *src,
                       idmef_target_t *dst);

Copy a new idmef_target_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_target_clone ()

    int
    idmef_target_clone (idmef_target_t *src,
                        idmef_target_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_target_ref ()

    idmef_target_t *
    idmef_target_ref (idmef_target_t *target);

Increase `target` reference count, so that it can be referenced multiple time.

#### Parameters

target | pointer to a idmef_target_t object. |

#### Returns

a pointer to `target` .

### idmef_target_destroy ()

    void
    idmef_target_destroy (idmef_target_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_target_t object. |

### idmef_target_get_ident ()

    prelude_string_t *
    idmef_target_get_ident (idmef_target_t *ptr);

Get ident children of the idmef_target_t object.

#### Parameters

ptr | pointer to a idmef_target_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_target_set_ident ()

    void
    idmef_target_set_ident (idmef_target_t *ptr,
                            prelude_string_t *ident);

Set `ident` object as a children of `ptr` . if `ptr` already contain an `ident` object, then it is destroyed, and updated to point to the provided `ident` object.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ident | pointer to a prelude_string_t object. |

### idmef_target_new_ident ()

    int
    idmef_target_new_ident (idmef_target_t *ptr,
                            prelude_string_t **ret);

Create a new ident object, children of idmef_target_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_target_get_decoy ()

    idmef_target_decoy_t
    idmef_target_get_decoy (idmef_target_t *ptr);

Get decoy children of the idmef_target_t object.

#### Parameters

ptr | pointer to a idmef_target_t object. |

#### Returns

a pointer to a idmef_target_decoy_t object, or NULL if the children object is not set.

### idmef_target_set_decoy ()

    void
    idmef_target_set_decoy (idmef_target_t *ptr,
                            idmef_target_decoy_t decoy);

Set `decoy` object as a children of `ptr` . if `ptr` already contain an `decoy` object, then it is destroyed, and updated to point to the provided `decoy` object.

#### Parameters

ptr | pointer to a idmef_target_t object. |
decoy | pointer to a idmef_target_decoy_t object. |

### idmef_target_new_decoy ()

    int
    idmef_target_new_decoy (idmef_target_t *ptr,
                            idmef_target_decoy_t **ret);

Create a new decoy object, children of idmef_target_t. If `ptr` already contain a idmef_target_decoy_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ret | pointer to an address where to store the created idmef_target_decoy_t object. |

#### Returns

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

### idmef_target_get_interface ()

    prelude_string_t *
    idmef_target_get_interface (idmef_target_t *ptr);

Get interface children of the idmef_target_t object.

#### Parameters

ptr | pointer to a idmef_target_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_target_set_interface ()

    void
    idmef_target_set_interface (idmef_target_t *ptr,
                                prelude_string_t *interface);

Set `interface` object as a children of `ptr` . if `ptr` already contain an `interface` object, then it is destroyed, and updated to point to the provided `interface` object.

#### Parameters

ptr | pointer to a idmef_target_t object. |
interface | pointer to a prelude_string_t object. |

### idmef_target_new_interface ()

    int
    idmef_target_new_interface (idmef_target_t *ptr,
                                prelude_string_t **ret);

Create a new interface object, children of idmef_target_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_target_get_node ()

    idmef_node_t *
    idmef_target_get_node (idmef_target_t *ptr);

Get node children of the idmef_target_t object.

#### Parameters

ptr | pointer to a idmef_target_t object. |

#### Returns

a pointer to a idmef_node_t object, or NULL if the children object is not set.

### idmef_target_set_node ()

    void
    idmef_target_set_node (idmef_target_t *ptr,
                           idmef_node_t *node);

Set `node` object as a children of `ptr` . if `ptr` already contain an `node` object, then it is destroyed, and updated to point to the provided `node` object.

#### Parameters

ptr | pointer to a idmef_target_t object. |
node | pointer to a idmef_node_t object. |

### idmef_target_new_node ()

    int
    idmef_target_new_node (idmef_target_t *ptr,
                           idmef_node_t **ret);

Create a new node object, children of idmef_target_t. If `ptr` already contain a idmef_node_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ret | pointer to an address where to store the created idmef_node_t object. |

#### Returns

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

### idmef_target_get_user ()

    idmef_user_t *
    idmef_target_get_user (idmef_target_t *ptr);

Get user children of the idmef_target_t object.

#### Parameters

ptr | pointer to a idmef_target_t object. |

#### Returns

a pointer to a idmef_user_t object, or NULL if the children object is not set.

### idmef_target_set_user ()

    void
    idmef_target_set_user (idmef_target_t *ptr,
                           idmef_user_t *user);

Set `user` object as a children of `ptr` . if `ptr` already contain an `user` object, then it is destroyed, and updated to point to the provided `user` object.

#### Parameters

ptr | pointer to a idmef_target_t object. |
user | pointer to a idmef_user_t object. |

### idmef_target_new_user ()

    int
    idmef_target_new_user (idmef_target_t *ptr,
                           idmef_user_t **ret);

Create a new user object, children of idmef_target_t. If `ptr` already contain a idmef_user_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ret | pointer to an address where to store the created idmef_user_t object. |

#### Returns

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

### idmef_target_get_process ()

    idmef_process_t *
    idmef_target_get_process (idmef_target_t *ptr);

Get process children of the idmef_target_t object.

#### Parameters

ptr | pointer to a idmef_target_t object. |

#### Returns

a pointer to a idmef_process_t object, or NULL if the children object is not set.

### idmef_target_set_process ()

    void
    idmef_target_set_process (idmef_target_t *ptr,
                              idmef_process_t *process);

Set `process` object as a children of `ptr` . if `ptr` already contain an `process` object, then it is destroyed, and updated to point to the provided `process` object.

#### Parameters

ptr | pointer to a idmef_target_t object. |
process | pointer to a idmef_process_t object. |

### idmef_target_new_process ()

    int
    idmef_target_new_process (idmef_target_t *ptr,
                              idmef_process_t **ret);

Create a new process object, children of idmef_target_t. If `ptr` already contain a idmef_process_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ret | pointer to an address where to store the created idmef_process_t object. |

#### Returns

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

### idmef_target_get_service ()

    idmef_service_t *
    idmef_target_get_service (idmef_target_t *ptr);

Get service children of the idmef_target_t object.

#### Parameters

ptr | pointer to a idmef_target_t object. |

#### Returns

a pointer to a idmef_service_t object, or NULL if the children object is not set.

### idmef_target_set_service ()

    void
    idmef_target_set_service (idmef_target_t *ptr,
                              idmef_service_t *service);

Set `service` object as a children of `ptr` . if `ptr` already contain an `service` object, then it is destroyed, and updated to point to the provided `service` object.

#### Parameters

ptr | pointer to a idmef_target_t object. |
service | pointer to a idmef_service_t object. |

### idmef_target_new_service ()

    int
    idmef_target_new_service (idmef_target_t *ptr,
                              idmef_service_t **ret);

Create a new service object, children of idmef_target_t. If `ptr` already contain a idmef_service_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ret | pointer to an address where to store the created idmef_service_t object. |

#### Returns

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

### idmef_target_get_next_file ()

    idmef_file_t *
    idmef_target_get_next_file (idmef_target_t *target,
                                idmef_file_t *file_cur);

Get the next idmef_file_t object listed in `ptr` . When iterating over the idmef_file_t object listed in `ptr` , `object` should be set to the latest returned idmef_file_t object.

#### Parameters

target | pointer to a idmef_target_t object. |
file_cur | pointer to a idmef_file_t object. |

#### Returns

the next idmef_file_t in the list.

### idmef_target_set_file ()

    void
    idmef_target_set_file (idmef_target_t *ptr,
                           idmef_file_t *object,
                           int pos);

Add `object` to position `pos` of `ptr` list of idmef_file_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_target_t object. |
object | pointer to a idmef_file_t object. |
pos | Position in the list. |

### idmef_target_new_file ()

    int
    idmef_target_new_file (idmef_target_t *ptr,
                           idmef_file_t **ret,
                           int pos);

Create a new idmef_file_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_file_t object. The created idmef_file_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_target_t object. |
ret | pointer to an address where to store the created idmef_file_t object. |
pos | position in the list. |

#### Returns

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

### idmef_analyzer_new ()

    int
    idmef_analyzer_new (idmef_analyzer_t **ret);

Create a new idmef_analyzer_t object.

#### Parameters

ret | Pointer where to store the created idmef_analyzer_t object. |

#### Returns

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

### idmef_analyzer_copy ()

    int
    idmef_analyzer_copy (const idmef_analyzer_t *src,
                         idmef_analyzer_t *dst);

Copy a new idmef_analyzer_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_analyzer_clone ()

    int
    idmef_analyzer_clone (idmef_analyzer_t *src,
                          idmef_analyzer_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_analyzer_ref ()

    idmef_analyzer_t *
    idmef_analyzer_ref (idmef_analyzer_t *analyzer);

Increase `analyzer` reference count, so that it can be referenced multiple time.

#### Parameters

analyzer | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to `analyzer` .

### idmef_analyzer_destroy ()

    void
    idmef_analyzer_destroy (idmef_analyzer_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

### idmef_analyzer_get_analyzerid ()

    prelude_string_t *
    idmef_analyzer_get_analyzerid (idmef_analyzer_t *ptr);

Get analyzerid children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_analyzer_set_analyzerid ()

    void
    idmef_analyzer_set_analyzerid (idmef_analyzer_t *ptr,
                                   prelude_string_t *analyzerid);

Set `analyzerid` object as a children of `ptr` . if `ptr` already contain an `analyzerid` object, then it is destroyed, and updated to point to the provided `analyzerid` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
analyzerid | pointer to a prelude_string_t object. |

### idmef_analyzer_new_analyzerid ()

    int
    idmef_analyzer_new_analyzerid (idmef_analyzer_t *ptr,
                                   prelude_string_t **ret);

Create a new analyzerid object, children of idmef_analyzer_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_analyzer_get_name ()

    prelude_string_t *
    idmef_analyzer_get_name (idmef_analyzer_t *ptr);

Get name children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_analyzer_set_name ()

    void
    idmef_analyzer_set_name (idmef_analyzer_t *ptr,
                             prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
name | pointer to a prelude_string_t object. |

### idmef_analyzer_new_name ()

    int
    idmef_analyzer_new_name (idmef_analyzer_t *ptr,
                             prelude_string_t **ret);

Create a new name object, children of idmef_analyzer_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_analyzer_get_manufacturer ()

    prelude_string_t *
    idmef_analyzer_get_manufacturer (idmef_analyzer_t *ptr);

Get manufacturer children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_analyzer_set_manufacturer ()

    void
    idmef_analyzer_set_manufacturer (idmef_analyzer_t *ptr,
                                     prelude_string_t *manufacturer);

Set `manufacturer` object as a children of `ptr` . if `ptr` already contain an `manufacturer` object, then it is destroyed, and updated to point to the provided `manufacturer` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
manufacturer | pointer to a prelude_string_t object. |

### idmef_analyzer_new_manufacturer ()

    int
    idmef_analyzer_new_manufacturer (idmef_analyzer_t *ptr,
                                     prelude_string_t **ret);

Create a new manufacturer object, children of idmef_analyzer_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_analyzer_get_model ()

    prelude_string_t *
    idmef_analyzer_get_model (idmef_analyzer_t *ptr);

Get model children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_analyzer_set_model ()

    void
    idmef_analyzer_set_model (idmef_analyzer_t *ptr,
                              prelude_string_t *model);

Set `model` object as a children of `ptr` . if `ptr` already contain an `model` object, then it is destroyed, and updated to point to the provided `model` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
model | pointer to a prelude_string_t object. |

### idmef_analyzer_new_model ()

    int
    idmef_analyzer_new_model (idmef_analyzer_t *ptr,
                              prelude_string_t **ret);

Create a new model object, children of idmef_analyzer_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_analyzer_get_version ()

    prelude_string_t *
    idmef_analyzer_get_version (idmef_analyzer_t *ptr);

Get version children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_analyzer_set_version ()

    void
    idmef_analyzer_set_version (idmef_analyzer_t *ptr,
                                prelude_string_t *version);

Set `version` object as a children of `ptr` . if `ptr` already contain an `version` object, then it is destroyed, and updated to point to the provided `version` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
version | pointer to a prelude_string_t object. |

### idmef_analyzer_new_version ()

    int
    idmef_analyzer_new_version (idmef_analyzer_t *ptr,
                                prelude_string_t **ret);

Create a new version object, children of idmef_analyzer_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_analyzer_get_class ()

    prelude_string_t *
    idmef_analyzer_get_class (idmef_analyzer_t *ptr);

Get class children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_analyzer_set_class ()

    void
    idmef_analyzer_set_class (idmef_analyzer_t *ptr,
                              prelude_string_t *class_str);

Set `class_str` object as a children of `ptr` . if `ptr` already contain an `class_str` object, then it is destroyed, and updated to point to the provided `class_str` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
class_str | pointer to a prelude_string_t object. |

### idmef_analyzer_new_class ()

    int
    idmef_analyzer_new_class (idmef_analyzer_t *ptr,
                              prelude_string_t **ret);

Create a new class object, children of idmef_analyzer_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_analyzer_get_ostype ()

    prelude_string_t *
    idmef_analyzer_get_ostype (idmef_analyzer_t *ptr);

Get ostype children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_analyzer_set_ostype ()

    void
    idmef_analyzer_set_ostype (idmef_analyzer_t *ptr,
                               prelude_string_t *ostype);

Set `ostype` object as a children of `ptr` . if `ptr` already contain an `ostype` object, then it is destroyed, and updated to point to the provided `ostype` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ostype | pointer to a prelude_string_t object. |

### idmef_analyzer_new_ostype ()

    int
    idmef_analyzer_new_ostype (idmef_analyzer_t *ptr,
                               prelude_string_t **ret);

Create a new ostype object, children of idmef_analyzer_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_analyzer_get_osversion ()

    prelude_string_t *
    idmef_analyzer_get_osversion (idmef_analyzer_t *ptr);

Get osversion children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_analyzer_set_osversion ()

    void
    idmef_analyzer_set_osversion (idmef_analyzer_t *ptr,
                                  prelude_string_t *osversion);

Set `osversion` object as a children of `ptr` . if `ptr` already contain an `osversion` object, then it is destroyed, and updated to point to the provided `osversion` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
osversion | pointer to a prelude_string_t object. |

### idmef_analyzer_new_osversion ()

    int
    idmef_analyzer_new_osversion (idmef_analyzer_t *ptr,
                                  prelude_string_t **ret);

Create a new osversion object, children of idmef_analyzer_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_analyzer_get_node ()

    idmef_node_t *
    idmef_analyzer_get_node (idmef_analyzer_t *ptr);

Get node children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a idmef_node_t object, or NULL if the children object is not set.

### idmef_analyzer_set_node ()

    void
    idmef_analyzer_set_node (idmef_analyzer_t *ptr,
                             idmef_node_t *node);

Set `node` object as a children of `ptr` . if `ptr` already contain an `node` object, then it is destroyed, and updated to point to the provided `node` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
node | pointer to a idmef_node_t object. |

### idmef_analyzer_new_node ()

    int
    idmef_analyzer_new_node (idmef_analyzer_t *ptr,
                             idmef_node_t **ret);

Create a new node object, children of idmef_analyzer_t. If `ptr` already contain a idmef_node_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created idmef_node_t object. |

#### Returns

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

### idmef_analyzer_get_process ()

    idmef_process_t *
    idmef_analyzer_get_process (idmef_analyzer_t *ptr);

Get process children of the idmef_analyzer_t object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |

#### Returns

a pointer to a idmef_process_t object, or NULL if the children object is not set.

### idmef_analyzer_set_process ()

    void
    idmef_analyzer_set_process (idmef_analyzer_t *ptr,
                                idmef_process_t *process);

Set `process` object as a children of `ptr` . if `ptr` already contain an `process` object, then it is destroyed, and updated to point to the provided `process` object.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
process | pointer to a idmef_process_t object. |

### idmef_analyzer_new_process ()

    int
    idmef_analyzer_new_process (idmef_analyzer_t *ptr,
                                idmef_process_t **ret);

Create a new process object, children of idmef_analyzer_t. If `ptr` already contain a idmef_process_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_analyzer_t object. |
ret | pointer to an address where to store the created idmef_process_t object. |

#### Returns

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

### idmef_alertident_new ()

    int
    idmef_alertident_new (idmef_alertident_t **ret);

Create a new idmef_alertident_t object.

#### Parameters

ret | Pointer where to store the created idmef_alertident_t object. |

#### Returns

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

### idmef_alertident_copy ()

    int
    idmef_alertident_copy (const idmef_alertident_t *src,
                           idmef_alertident_t *dst);

Copy a new idmef_alertident_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_alertident_clone ()

    int
    idmef_alertident_clone (idmef_alertident_t *src,
                            idmef_alertident_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_alertident_ref ()

    idmef_alertident_t *
    idmef_alertident_ref (idmef_alertident_t *alertident);

Increase `alertident` reference count, so that it can be referenced multiple time.

#### Parameters

alertident | pointer to a idmef_alertident_t object. |

#### Returns

a pointer to `alertident` .

### idmef_alertident_destroy ()

    void
    idmef_alertident_destroy (idmef_alertident_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_alertident_t object. |

### idmef_alertident_get_alertident ()

    prelude_string_t *
    idmef_alertident_get_alertident (idmef_alertident_t *ptr);

Get alertident children of the idmef_alertident_t object.

#### Parameters

ptr | pointer to a idmef_alertident_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_alertident_set_alertident ()

    void
    idmef_alertident_set_alertident (idmef_alertident_t *ptr,
                                     prelude_string_t *alertident);

Set `alertident` object as a children of `ptr` . if `ptr` already contain an `alertident` object, then it is destroyed, and updated to point to the provided `alertident` object.

#### Parameters

ptr | pointer to a idmef_alertident_t object. |
alertident | pointer to a prelude_string_t object. |

### idmef_alertident_new_alertident ()

    int
    idmef_alertident_new_alertident (idmef_alertident_t *ptr,
                                     prelude_string_t **ret);

Create a new alertident object, children of idmef_alertident_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alertident_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_alertident_get_analyzerid ()

    prelude_string_t *
    idmef_alertident_get_analyzerid (idmef_alertident_t *ptr);

Get analyzerid children of the idmef_alertident_t object.

#### Parameters

ptr | pointer to a idmef_alertident_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_alertident_set_analyzerid ()

    void
    idmef_alertident_set_analyzerid (idmef_alertident_t *ptr,
                                     prelude_string_t *analyzerid);

Set `analyzerid` object as a children of `ptr` . if `ptr` already contain an `analyzerid` object, then it is destroyed, and updated to point to the provided `analyzerid` object.

#### Parameters

ptr | pointer to a idmef_alertident_t object. |
analyzerid | pointer to a prelude_string_t object. |

### idmef_alertident_new_analyzerid ()

    int
    idmef_alertident_new_analyzerid (idmef_alertident_t *ptr,
                                     prelude_string_t **ret);

Create a new analyzerid object, children of idmef_alertident_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alertident_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_impact_severity_to_numeric ()

    idmef_impact_severity_t
    idmef_impact_severity_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_impact_severity_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_impact_severity_to_string ()

    const char *
    idmef_impact_severity_to_string (idmef_impact_severity_t val);

Return the IDMEF string equivalent of `val` provided idmef_impact_severity_t value.

#### Parameters

val | an enumeration value for idmef_impact_severity_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_impact_completion_to_numeric ()

    idmef_impact_completion_t
    idmef_impact_completion_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_impact_completion_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_impact_completion_to_string ()

    const char *
    idmef_impact_completion_to_string (idmef_impact_completion_t val);

Return the IDMEF string equivalent of `val` provided idmef_impact_completion_t value.

#### Parameters

val | an enumeration value for idmef_impact_completion_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_impact_type_to_numeric ()

    idmef_impact_type_t
    idmef_impact_type_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_impact_type_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_impact_type_to_string ()

    const char *
    idmef_impact_type_to_string (idmef_impact_type_t val);

Return the IDMEF string equivalent of `val` provided idmef_impact_type_t value.

#### Parameters

val | an enumeration value for idmef_impact_type_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_impact_new ()

    int
    idmef_impact_new (idmef_impact_t **ret);

Create a new idmef_impact_t object.

#### Parameters

ret | Pointer where to store the created idmef_impact_t object. |

#### Returns

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

### idmef_impact_copy ()

    int
    idmef_impact_copy (const idmef_impact_t *src,
                       idmef_impact_t *dst);

Copy a new idmef_impact_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_impact_clone ()

    int
    idmef_impact_clone (idmef_impact_t *src,
                        idmef_impact_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_impact_ref ()

    idmef_impact_t *
    idmef_impact_ref (idmef_impact_t *impact);

Increase `impact` reference count, so that it can be referenced multiple time.

#### Parameters

impact | pointer to a idmef_impact_t object. |

#### Returns

a pointer to `impact` .

### idmef_impact_destroy ()

    void
    idmef_impact_destroy (idmef_impact_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_impact_t object. |

### idmef_impact_unset_severity ()

    void
    idmef_impact_unset_severity (idmef_impact_t *ptr);

### idmef_impact_get_severity ()

    idmef_impact_severity_t *
    idmef_impact_get_severity (idmef_impact_t *ptr);

Get severity children of the idmef_impact_t object.

#### Parameters

ptr | pointer to a idmef_impact_t object. |

#### Returns

a pointer to a idmef_impact_severity_t object, or NULL if the children object is not set.

### idmef_impact_set_severity ()

    void
    idmef_impact_set_severity (idmef_impact_t *ptr,
                               idmef_impact_severity_t severity);

Set `severity` object as a children of `ptr` . if `ptr` already contain an `severity` object, then it is destroyed, and updated to point to the provided `severity` object.

#### Parameters

ptr | pointer to a idmef_impact_t object. |
severity | pointer to a idmef_impact_severity_t object. |

### idmef_impact_new_severity ()

    int
    idmef_impact_new_severity (idmef_impact_t *ptr,
                               idmef_impact_severity_t **ret);

Create a new severity object, children of idmef_impact_t. If `ptr` already contain a idmef_impact_severity_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_impact_t object. |
ret | pointer to an address where to store the created idmef_impact_severity_t object. |

#### Returns

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

### idmef_impact_unset_completion ()

    void
    idmef_impact_unset_completion (idmef_impact_t *ptr);

### idmef_impact_get_completion ()

    idmef_impact_completion_t *
    idmef_impact_get_completion (idmef_impact_t *ptr);

Get completion children of the idmef_impact_t object.

#### Parameters

ptr | pointer to a idmef_impact_t object. |

#### Returns

a pointer to a idmef_impact_completion_t object, or NULL if the children object is not set.

### idmef_impact_set_completion ()

    void
    idmef_impact_set_completion (idmef_impact_t *ptr,
                                 idmef_impact_completion_t completion);

Set `completion` object as a children of `ptr` . if `ptr` already contain an `completion` object, then it is destroyed, and updated to point to the provided `completion` object.

#### Parameters

ptr | pointer to a idmef_impact_t object. |
completion | pointer to a idmef_impact_completion_t object. |

### idmef_impact_new_completion ()

    int
    idmef_impact_new_completion (idmef_impact_t *ptr,
                                 idmef_impact_completion_t **ret);

Create a new completion object, children of idmef_impact_t. If `ptr` already contain a idmef_impact_completion_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_impact_t object. |
ret | pointer to an address where to store the created idmef_impact_completion_t object. |

#### Returns

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

### idmef_impact_get_type ()

    idmef_impact_type_t
    idmef_impact_get_type (idmef_impact_t *ptr);

Get type children of the idmef_impact_t object.

#### Parameters

ptr | pointer to a idmef_impact_t object. |

#### Returns

a pointer to a idmef_impact_type_t object, or NULL if the children object is not set.

### idmef_impact_set_type ()

    void
    idmef_impact_set_type (idmef_impact_t *ptr,
                           idmef_impact_type_t type);

Set `type` object as a children of `ptr` . if `ptr` already contain an `type` object, then it is destroyed, and updated to point to the provided `type` object.

#### Parameters

ptr | pointer to a idmef_impact_t object. |
type | pointer to a idmef_impact_type_t object. |

### idmef_impact_new_type ()

    int
    idmef_impact_new_type (idmef_impact_t *ptr,
                           idmef_impact_type_t **ret);

Create a new type object, children of idmef_impact_t. If `ptr` already contain a idmef_impact_type_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_impact_t object. |
ret | pointer to an address where to store the created idmef_impact_type_t object. |

#### Returns

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

### idmef_impact_get_description ()

    prelude_string_t *
    idmef_impact_get_description (idmef_impact_t *ptr);

Get description children of the idmef_impact_t object.

#### Parameters

ptr | pointer to a idmef_impact_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_impact_set_description ()

    void
    idmef_impact_set_description (idmef_impact_t *ptr,
                                  prelude_string_t *description);

Set `description` object as a children of `ptr` . if `ptr` already contain an `description` object, then it is destroyed, and updated to point to the provided `description` object.

#### Parameters

ptr | pointer to a idmef_impact_t object. |
description | pointer to a prelude_string_t object. |

### idmef_impact_new_description ()

    int
    idmef_impact_new_description (idmef_impact_t *ptr,
                                  prelude_string_t **ret);

Create a new description object, children of idmef_impact_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_impact_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_action_category_to_numeric ()

    idmef_action_category_t
    idmef_action_category_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_action_category_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_action_category_to_string ()

    const char *
    idmef_action_category_to_string (idmef_action_category_t val);

Return the IDMEF string equivalent of `val` provided idmef_action_category_t value.

#### Parameters

val | an enumeration value for idmef_action_category_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_action_new ()

    int
    idmef_action_new (idmef_action_t **ret);

Create a new idmef_action_t object.

#### Parameters

ret | Pointer where to store the created idmef_action_t object. |

#### Returns

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

### idmef_action_copy ()

    int
    idmef_action_copy (const idmef_action_t *src,
                       idmef_action_t *dst);

Copy a new idmef_action_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_action_clone ()

    int
    idmef_action_clone (idmef_action_t *src,
                        idmef_action_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_action_ref ()

    idmef_action_t *
    idmef_action_ref (idmef_action_t *action);

Increase `action` reference count, so that it can be referenced multiple time.

#### Parameters

action | pointer to a idmef_action_t object. |

#### Returns

a pointer to `action` .

### idmef_action_destroy ()

    void
    idmef_action_destroy (idmef_action_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_action_t object. |

### idmef_action_get_category ()

    idmef_action_category_t
    idmef_action_get_category (idmef_action_t *ptr);

Get category children of the idmef_action_t object.

#### Parameters

ptr | pointer to a idmef_action_t object. |

#### Returns

a pointer to a idmef_action_category_t object, or NULL if the children object is not set.

### idmef_action_set_category ()

    void
    idmef_action_set_category (idmef_action_t *ptr,
                               idmef_action_category_t category);

Set `category` object as a children of `ptr` . if `ptr` already contain an `category` object, then it is destroyed, and updated to point to the provided `category` object.

#### Parameters

ptr | pointer to a idmef_action_t object. |
category | pointer to a idmef_action_category_t object. |

### idmef_action_new_category ()

    int
    idmef_action_new_category (idmef_action_t *ptr,
                               idmef_action_category_t **ret);

Create a new category object, children of idmef_action_t. If `ptr` already contain a idmef_action_category_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_action_t object. |
ret | pointer to an address where to store the created idmef_action_category_t object. |

#### Returns

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

### idmef_action_get_description ()

    prelude_string_t *
    idmef_action_get_description (idmef_action_t *ptr);

Get description children of the idmef_action_t object.

#### Parameters

ptr | pointer to a idmef_action_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_action_set_description ()

    void
    idmef_action_set_description (idmef_action_t *ptr,
                                  prelude_string_t *description);

Set `description` object as a children of `ptr` . if `ptr` already contain an `description` object, then it is destroyed, and updated to point to the provided `description` object.

#### Parameters

ptr | pointer to a idmef_action_t object. |
description | pointer to a prelude_string_t object. |

### idmef_action_new_description ()

    int
    idmef_action_new_description (idmef_action_t *ptr,
                                  prelude_string_t **ret);

Create a new description object, children of idmef_action_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_action_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_confidence_rating_to_numeric ()

    idmef_confidence_rating_t
    idmef_confidence_rating_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_confidence_rating_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_confidence_rating_to_string ()

    const char *
    idmef_confidence_rating_to_string (idmef_confidence_rating_t val);

Return the IDMEF string equivalent of `val` provided idmef_confidence_rating_t value.

#### Parameters

val | an enumeration value for idmef_confidence_rating_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_confidence_new ()

    int
    idmef_confidence_new (idmef_confidence_t **ret);

Create a new idmef_confidence_t object.

#### Parameters

ret | Pointer where to store the created idmef_confidence_t object. |

#### Returns

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

### idmef_confidence_copy ()

    int
    idmef_confidence_copy (const idmef_confidence_t *src,
                           idmef_confidence_t *dst);

Copy a new idmef_confidence_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_confidence_clone ()

    int
    idmef_confidence_clone (idmef_confidence_t *src,
                            idmef_confidence_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_confidence_ref ()

    idmef_confidence_t *
    idmef_confidence_ref (idmef_confidence_t *confidence);

Increase `confidence` reference count, so that it can be referenced multiple time.

#### Parameters

confidence | pointer to a idmef_confidence_t object. |

#### Returns

a pointer to `confidence` .

### idmef_confidence_destroy ()

    void
    idmef_confidence_destroy (idmef_confidence_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_confidence_t object. |

### idmef_confidence_get_rating ()

    idmef_confidence_rating_t
    idmef_confidence_get_rating (idmef_confidence_t *ptr);

Get rating children of the idmef_confidence_t object.

#### Parameters

ptr | pointer to a idmef_confidence_t object. |

#### Returns

a pointer to a idmef_confidence_rating_t object, or NULL if the children object is not set.

### idmef_confidence_set_rating ()

    void
    idmef_confidence_set_rating (idmef_confidence_t *ptr,
                                 idmef_confidence_rating_t rating);

Set `rating` object as a children of `ptr` . if `ptr` already contain an `rating` object, then it is destroyed, and updated to point to the provided `rating` object.

#### Parameters

ptr | pointer to a idmef_confidence_t object. |
rating | pointer to a idmef_confidence_rating_t object. |

### idmef_confidence_new_rating ()

    int
    idmef_confidence_new_rating (idmef_confidence_t *ptr,
                                 idmef_confidence_rating_t **ret);

Create a new rating object, children of idmef_confidence_t. If `ptr` already contain a idmef_confidence_rating_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_confidence_t object. |
ret | pointer to an address where to store the created idmef_confidence_rating_t object. |

#### Returns

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

### idmef_confidence_get_confidence ()

    float
    idmef_confidence_get_confidence (idmef_confidence_t *ptr);

Get confidence children of the idmef_confidence_t object.

#### Parameters

ptr | pointer to a idmef_confidence_t object. |

#### Returns

a pointer to a float object, or NULL if the children object is not set.

### idmef_confidence_set_confidence ()

    void
    idmef_confidence_set_confidence (idmef_confidence_t *ptr,
                                     float confidence);

Set `confidence` object as a children of `ptr` . if `ptr` already contain an `confidence` object, then it is destroyed, and updated to point to the provided `confidence` object.

#### Parameters

ptr | pointer to a idmef_confidence_t object. |
confidence | pointer to a float object. |

### idmef_confidence_new_confidence ()

    int
    idmef_confidence_new_confidence (idmef_confidence_t *ptr,
                                     float **ret);

Create a new confidence object, children of idmef_confidence_t. If `ptr` already contain a float object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_confidence_t object. |
ret | pointer to an address where to store the created float object. |

#### Returns

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

### idmef_assessment_new ()

    int
    idmef_assessment_new (idmef_assessment_t **ret);

Create a new idmef_assessment_t object.

#### Parameters

ret | Pointer where to store the created idmef_assessment_t object. |

#### Returns

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

### idmef_assessment_copy ()

    int
    idmef_assessment_copy (const idmef_assessment_t *src,
                           idmef_assessment_t *dst);

Copy a new idmef_assessment_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_assessment_clone ()

    int
    idmef_assessment_clone (idmef_assessment_t *src,
                            idmef_assessment_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_assessment_ref ()

    idmef_assessment_t *
    idmef_assessment_ref (idmef_assessment_t *assessment);

Increase `assessment` reference count, so that it can be referenced multiple time.

#### Parameters

assessment | pointer to a idmef_assessment_t object. |

#### Returns

a pointer to `assessment` .

### idmef_assessment_destroy ()

    void
    idmef_assessment_destroy (idmef_assessment_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |

### idmef_assessment_get_impact ()

    idmef_impact_t *
    idmef_assessment_get_impact (idmef_assessment_t *ptr);

Get impact children of the idmef_assessment_t object.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |

#### Returns

a pointer to a idmef_impact_t object, or NULL if the children object is not set.

### idmef_assessment_set_impact ()

    void
    idmef_assessment_set_impact (idmef_assessment_t *ptr,
                                 idmef_impact_t *impact);

Set `impact` object as a children of `ptr` . if `ptr` already contain an `impact` object, then it is destroyed, and updated to point to the provided `impact` object.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |
impact | pointer to a idmef_impact_t object. |

### idmef_assessment_new_impact ()

    int
    idmef_assessment_new_impact (idmef_assessment_t *ptr,
                                 idmef_impact_t **ret);

Create a new impact object, children of idmef_assessment_t. If `ptr` already contain a idmef_impact_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |
ret | pointer to an address where to store the created idmef_impact_t object. |

#### Returns

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

### idmef_assessment_get_next_action ()

    idmef_action_t *
    idmef_assessment_get_next_action (idmef_assessment_t *assessment,
                                      idmef_action_t *action_cur);

Get the next idmef_action_t object listed in `ptr` . When iterating over the idmef_action_t object listed in `ptr` , `object` should be set to the latest returned idmef_action_t object.

#### Parameters

assessment | pointer to a idmef_assessment_t object. |
action_cur | pointer to a idmef_action_t object. |

#### Returns

the next idmef_action_t in the list.

### idmef_assessment_set_action ()

    void
    idmef_assessment_set_action (idmef_assessment_t *ptr,
                                 idmef_action_t *object,
                                 int pos);

Add `object` to position `pos` of `ptr` list of idmef_action_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |
object | pointer to a idmef_action_t object. |
pos | Position in the list. |

### idmef_assessment_new_action ()

    int
    idmef_assessment_new_action (idmef_assessment_t *ptr,
                                 idmef_action_t **ret,
                                 int pos);

Create a new idmef_action_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_action_t object. The created idmef_action_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |
ret | pointer to an address where to store the created idmef_action_t object. |
pos | position in the list. |

#### Returns

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

### idmef_assessment_get_confidence ()

    idmef_confidence_t *
    idmef_assessment_get_confidence (idmef_assessment_t *ptr);

Get confidence children of the idmef_assessment_t object.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |

#### Returns

a pointer to a idmef_confidence_t object, or NULL if the children object is not set.

### idmef_assessment_set_confidence ()

    void
    idmef_assessment_set_confidence (idmef_assessment_t *ptr,
                                     idmef_confidence_t *confidence);

Set `confidence` object as a children of `ptr` . if `ptr` already contain an `confidence` object, then it is destroyed, and updated to point to the provided `confidence` object.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |
confidence | pointer to a idmef_confidence_t object. |

### idmef_assessment_new_confidence ()

    int
    idmef_assessment_new_confidence (idmef_assessment_t *ptr,
                                     idmef_confidence_t **ret);

Create a new confidence object, children of idmef_assessment_t. If `ptr` already contain a idmef_confidence_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_assessment_t object. |
ret | pointer to an address where to store the created idmef_confidence_t object. |

#### Returns

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

### idmef_tool_alert_new ()

    int
    idmef_tool_alert_new (idmef_tool_alert_t **ret);

Create a new idmef_tool_alert_t object.

#### Parameters

ret | Pointer where to store the created idmef_tool_alert_t object. |

#### Returns

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

### idmef_tool_alert_copy ()

    int
    idmef_tool_alert_copy (const idmef_tool_alert_t *src,
                           idmef_tool_alert_t *dst);

Copy a new idmef_tool_alert_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_tool_alert_clone ()

    int
    idmef_tool_alert_clone (idmef_tool_alert_t *src,
                            idmef_tool_alert_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_tool_alert_ref ()

    idmef_tool_alert_t *
    idmef_tool_alert_ref (idmef_tool_alert_t *tool_alert);

Increase `tool_alert` reference count, so that it can be referenced multiple time.

#### Parameters

tool_alert | pointer to a idmef_tool_alert_t object. |

#### Returns

a pointer to `tool_alert` .

### idmef_tool_alert_destroy ()

    void
    idmef_tool_alert_destroy (idmef_tool_alert_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |

### idmef_tool_alert_get_name ()

    prelude_string_t *
    idmef_tool_alert_get_name (idmef_tool_alert_t *ptr);

Get name children of the idmef_tool_alert_t object.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_tool_alert_set_name ()

    void
    idmef_tool_alert_set_name (idmef_tool_alert_t *ptr,
                               prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |
name | pointer to a prelude_string_t object. |

### idmef_tool_alert_new_name ()

    int
    idmef_tool_alert_new_name (idmef_tool_alert_t *ptr,
                               prelude_string_t **ret);

Create a new name object, children of idmef_tool_alert_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_tool_alert_get_command ()

    prelude_string_t *
    idmef_tool_alert_get_command (idmef_tool_alert_t *ptr);

Get command children of the idmef_tool_alert_t object.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_tool_alert_set_command ()

    void
    idmef_tool_alert_set_command (idmef_tool_alert_t *ptr,
                                  prelude_string_t *command);

Set `command` object as a children of `ptr` . if `ptr` already contain an `command` object, then it is destroyed, and updated to point to the provided `command` object.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |
command | pointer to a prelude_string_t object. |

### idmef_tool_alert_new_command ()

    int
    idmef_tool_alert_new_command (idmef_tool_alert_t *ptr,
                                  prelude_string_t **ret);

Create a new command object, children of idmef_tool_alert_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_tool_alert_get_next_alertident ()

    idmef_alertident_t *
    idmef_tool_alert_get_next_alertident (idmef_tool_alert_t *tool_alert,
                                          idmef_alertident_t *alertident_cur);

Get the next idmef_alertident_t object listed in `ptr` . When iterating over the idmef_alertident_t object listed in `ptr` , `object` should be set to the latest returned idmef_alertident_t object.

#### Parameters

tool_alert | pointer to a idmef_tool_alert_t object. |
alertident_cur | pointer to a idmef_alertident_t object. |

#### Returns

the next idmef_alertident_t in the list.

### idmef_tool_alert_set_alertident ()

    void
    idmef_tool_alert_set_alertident (idmef_tool_alert_t *ptr,
                                     idmef_alertident_t *object,
                                     int pos);

Add `object` to position `pos` of `ptr` list of idmef_alertident_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |
object | pointer to a idmef_alertident_t object. |
pos | Position in the list. |

### idmef_tool_alert_new_alertident ()

    int
    idmef_tool_alert_new_alertident (idmef_tool_alert_t *ptr,
                                     idmef_alertident_t **ret,
                                     int pos);

Create a new idmef_alertident_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_alertident_t object. The created idmef_alertident_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_tool_alert_t object. |
ret | pointer to an address where to store the created idmef_alertident_t object. |
pos | position in the list. |

#### Returns

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

### idmef_correlation_alert_new ()

    int
    idmef_correlation_alert_new (idmef_correlation_alert_t **ret);

Create a new idmef_correlation_alert_t object.

#### Parameters

ret | Pointer where to store the created idmef_correlation_alert_t object. |

#### Returns

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

### idmef_correlation_alert_copy ()

    int
    idmef_correlation_alert_copy (const idmef_correlation_alert_t *src,
                                  idmef_correlation_alert_t *dst);

Copy a new idmef_correlation_alert_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_correlation_alert_clone ()

    int
    idmef_correlation_alert_clone (idmef_correlation_alert_t *src,
                                   idmef_correlation_alert_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_correlation_alert_ref ()

    idmef_correlation_alert_t *
    idmef_correlation_alert_ref (idmef_correlation_alert_t *correlation_alert);

Increase `correlation_alert` reference count, so that it can be referenced multiple time.

#### Parameters

correlation_alert | pointer to a idmef_correlation_alert_t object. |

#### Returns

a pointer to `correlation_alert` .

### idmef_correlation_alert_destroy ()

    void
    idmef_correlation_alert_destroy (idmef_correlation_alert_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_correlation_alert_t object. |

### idmef_correlation_alert_get_name ()

    prelude_string_t *
    idmef_correlation_alert_get_name (idmef_correlation_alert_t *ptr);

Get name children of the idmef_correlation_alert_t object.

#### Parameters

ptr | pointer to a idmef_correlation_alert_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_correlation_alert_set_name ()

    void
    idmef_correlation_alert_set_name (idmef_correlation_alert_t *ptr,
                                      prelude_string_t *name);

Set `name` object as a children of `ptr` . if `ptr` already contain an `name` object, then it is destroyed, and updated to point to the provided `name` object.

#### Parameters

ptr | pointer to a idmef_correlation_alert_t object. |
name | pointer to a prelude_string_t object. |

### idmef_correlation_alert_new_name ()

    int
    idmef_correlation_alert_new_name (idmef_correlation_alert_t *ptr,
                                      prelude_string_t **ret);

Create a new name object, children of idmef_correlation_alert_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_correlation_alert_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_correlation_alert_get_next_alertident ()

    idmef_alertident_t *
    idmef_correlation_alert_get_next_alertident
                                   (idmef_correlation_alert_t *correlation_alert,
                                    idmef_alertident_t *alertident_cur);

Get the next idmef_alertident_t object listed in `ptr` . When iterating over the idmef_alertident_t object listed in `ptr` , `object` should be set to the latest returned idmef_alertident_t object.

#### Parameters

correlation_alert | pointer to a idmef_correlation_alert_t object. |
alertident_cur | pointer to a idmef_alertident_t object. |

#### Returns

the next idmef_alertident_t in the list.

### idmef_correlation_alert_set_alertident ()

    void
    idmef_correlation_alert_set_alertident
                                   (idmef_correlation_alert_t *ptr,
                                    idmef_alertident_t *object,
                                    int pos);

Add `object` to position `pos` of `ptr` list of idmef_alertident_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_correlation_alert_t object. |
object | pointer to a idmef_alertident_t object. |
pos | Position in the list. |

### idmef_correlation_alert_new_alertident ()

    int
    idmef_correlation_alert_new_alertident
                                   (idmef_correlation_alert_t *ptr,
                                    idmef_alertident_t **ret,
                                    int pos);

Create a new idmef_alertident_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_alertident_t object. The created idmef_alertident_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_correlation_alert_t object. |
ret | pointer to an address where to store the created idmef_alertident_t object. |
pos | position in the list. |

#### Returns

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

### idmef_overflow_alert_new ()

    int
    idmef_overflow_alert_new (idmef_overflow_alert_t **ret);

Create a new idmef_overflow_alert_t object.

#### Parameters

ret | Pointer where to store the created idmef_overflow_alert_t object. |

#### Returns

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

### idmef_overflow_alert_copy ()

    int
    idmef_overflow_alert_copy (const idmef_overflow_alert_t *src,
                               idmef_overflow_alert_t *dst);

Copy a new idmef_overflow_alert_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_overflow_alert_clone ()

    int
    idmef_overflow_alert_clone (idmef_overflow_alert_t *src,
                                idmef_overflow_alert_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_overflow_alert_ref ()

    idmef_overflow_alert_t *
    idmef_overflow_alert_ref (idmef_overflow_alert_t *overflow_alert);

Increase `overflow_alert` reference count, so that it can be referenced multiple time.

#### Parameters

overflow_alert | pointer to a idmef_overflow_alert_t object. |

#### Returns

a pointer to `overflow_alert` .

### idmef_overflow_alert_destroy ()

    void
    idmef_overflow_alert_destroy (idmef_overflow_alert_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |

### idmef_overflow_alert_get_program ()

    prelude_string_t *
    idmef_overflow_alert_get_program (idmef_overflow_alert_t *ptr);

Get program children of the idmef_overflow_alert_t object.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_overflow_alert_set_program ()

    void
    idmef_overflow_alert_set_program (idmef_overflow_alert_t *ptr,
                                      prelude_string_t *program);

Set `program` object as a children of `ptr` . if `ptr` already contain an `program` object, then it is destroyed, and updated to point to the provided `program` object.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |
program | pointer to a prelude_string_t object. |

### idmef_overflow_alert_new_program ()

    int
    idmef_overflow_alert_new_program (idmef_overflow_alert_t *ptr,
                                      prelude_string_t **ret);

Create a new program object, children of idmef_overflow_alert_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_overflow_alert_unset_size ()

    void
    idmef_overflow_alert_unset_size (idmef_overflow_alert_t *ptr);

### idmef_overflow_alert_get_size ()

    uint32_t *
    idmef_overflow_alert_get_size (idmef_overflow_alert_t *ptr);

Get size children of the idmef_overflow_alert_t object.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_overflow_alert_set_size ()

    void
    idmef_overflow_alert_set_size (idmef_overflow_alert_t *ptr,
                                   uint32_t size);

Set `size` object as a children of `ptr` . if `ptr` already contain an `size` object, then it is destroyed, and updated to point to the provided `size` object.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |
size | pointer to a uint32_t object. |

### idmef_overflow_alert_new_size ()

    int
    idmef_overflow_alert_new_size (idmef_overflow_alert_t *ptr,
                                   uint32_t **ret);

Create a new size object, children of idmef_overflow_alert_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_overflow_alert_get_buffer ()

    idmef_data_t *
    idmef_overflow_alert_get_buffer (idmef_overflow_alert_t *ptr);

Get buffer children of the idmef_overflow_alert_t object.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |

#### Returns

a pointer to a idmef_data_t object, or NULL if the children object is not set.

### idmef_overflow_alert_set_buffer ()

    void
    idmef_overflow_alert_set_buffer (idmef_overflow_alert_t *ptr,
                                     idmef_data_t *buffer);

Set `buffer` object as a children of `ptr` . if `ptr` already contain an `buffer` object, then it is destroyed, and updated to point to the provided `buffer` object.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |
buffer | pointer to a idmef_data_t object. |

### idmef_overflow_alert_new_buffer ()

    int
    idmef_overflow_alert_new_buffer (idmef_overflow_alert_t *ptr,
                                     idmef_data_t **ret);

Create a new buffer object, children of idmef_overflow_alert_t. If `ptr` already contain a idmef_data_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_overflow_alert_t object. |
ret | pointer to an address where to store the created idmef_data_t object. |

#### Returns

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

### idmef_alert_type_to_numeric ()

    idmef_alert_type_t
    idmef_alert_type_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_alert_type_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_alert_type_to_string ()

    const char *
    idmef_alert_type_to_string (idmef_alert_type_t val);

Return the IDMEF string equivalent of `val` provided idmef_alert_type_t value.

#### Parameters

val | an enumeration value for idmef_alert_type_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_alert_new ()

    int
    idmef_alert_new (idmef_alert_t **ret);

Create a new idmef_alert_t object.

#### Parameters

ret | Pointer where to store the created idmef_alert_t object. |

#### Returns

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

### idmef_alert_copy ()

    int
    idmef_alert_copy (const idmef_alert_t *src,
                      idmef_alert_t *dst);

Copy a new idmef_alert_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_alert_clone ()

    int
    idmef_alert_clone (idmef_alert_t *src,
                       idmef_alert_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_alert_ref ()

    idmef_alert_t *
    idmef_alert_ref (idmef_alert_t *alert);

Increase `alert` reference count, so that it can be referenced multiple time.

#### Parameters

alert | pointer to a idmef_alert_t object. |

#### Returns

a pointer to `alert` .

### idmef_alert_destroy ()

    void
    idmef_alert_destroy (idmef_alert_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_alert_t object. |

### idmef_alert_get_messageid ()

    prelude_string_t *
    idmef_alert_get_messageid (idmef_alert_t *ptr);

Get messageid children of the idmef_alert_t object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_alert_set_messageid ()

    void
    idmef_alert_set_messageid (idmef_alert_t *ptr,
                               prelude_string_t *messageid);

Set `messageid` object as a children of `ptr` . if `ptr` already contain an `messageid` object, then it is destroyed, and updated to point to the provided `messageid` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
messageid | pointer to a prelude_string_t object. |

### idmef_alert_new_messageid ()

    int
    idmef_alert_new_messageid (idmef_alert_t *ptr,
                               prelude_string_t **ret);

Create a new messageid object, children of idmef_alert_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_alert_get_next_analyzer ()

    idmef_analyzer_t *
    idmef_alert_get_next_analyzer (idmef_alert_t *alert,
                                   idmef_analyzer_t *analyzer_cur);

Get the next idmef_analyzer_t object listed in `ptr` . When iterating over the idmef_analyzer_t object listed in `ptr` , `object` should be set to the latest returned idmef_analyzer_t object.

#### Parameters

alert | pointer to a idmef_alert_t object. |
analyzer_cur | pointer to a idmef_analyzer_t object. |

#### Returns

the next idmef_analyzer_t in the list.

### idmef_alert_set_analyzer ()

    void
    idmef_alert_set_analyzer (idmef_alert_t *ptr,
                              idmef_analyzer_t *object,
                              int pos);

Add `object` to position `pos` of `ptr` list of idmef_analyzer_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
object | pointer to a idmef_analyzer_t object. |
pos | Position in the list. |

### idmef_alert_new_analyzer ()

    int
    idmef_alert_new_analyzer (idmef_alert_t *ptr,
                              idmef_analyzer_t **ret,
                              int pos);

Create a new idmef_analyzer_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_analyzer_t object. The created idmef_analyzer_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_analyzer_t object. |
pos | position in the list. |

#### Returns

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

### idmef_alert_get_create_time ()

    idmef_time_t *
    idmef_alert_get_create_time (idmef_alert_t *ptr);

Get create_time children of the idmef_alert_t object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_alert_set_create_time ()

    void
    idmef_alert_set_create_time (idmef_alert_t *ptr,
                                 idmef_time_t *create_time);

Set `create_time` object as a children of `ptr` . if `ptr` already contain an `create_time` object, then it is destroyed, and updated to point to the provided `create_time` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
create_time | pointer to a idmef_time_t object. |

### idmef_alert_new_create_time ()

    int
    idmef_alert_new_create_time (idmef_alert_t *ptr,
                                 idmef_time_t **ret);

Create a new create_time object, children of idmef_alert_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_alert_get_classification ()

    idmef_classification_t *
    idmef_alert_get_classification (idmef_alert_t *ptr);

Get classification children of the idmef_alert_t object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to a idmef_classification_t object, or NULL if the children object is not set.

### idmef_alert_set_classification ()

    void
    idmef_alert_set_classification (idmef_alert_t *ptr,
                                    idmef_classification_t *classification);

Set `classification` object as a children of `ptr` . if `ptr` already contain an `classification` object, then it is destroyed, and updated to point to the provided `classification` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
classification | pointer to a idmef_classification_t object. |

### idmef_alert_new_classification ()

    int
    idmef_alert_new_classification (idmef_alert_t *ptr,
                                    idmef_classification_t **ret);

Create a new classification object, children of idmef_alert_t. If `ptr` already contain a idmef_classification_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_classification_t object. |

#### Returns

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

### idmef_alert_get_detect_time ()

    idmef_time_t *
    idmef_alert_get_detect_time (idmef_alert_t *ptr);

Get detect_time children of the idmef_alert_t object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_alert_set_detect_time ()

    void
    idmef_alert_set_detect_time (idmef_alert_t *ptr,
                                 idmef_time_t *detect_time);

Set `detect_time` object as a children of `ptr` . if `ptr` already contain an `detect_time` object, then it is destroyed, and updated to point to the provided `detect_time` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
detect_time | pointer to a idmef_time_t object. |

### idmef_alert_new_detect_time ()

    int
    idmef_alert_new_detect_time (idmef_alert_t *ptr,
                                 idmef_time_t **ret);

Create a new detect_time object, children of idmef_alert_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_alert_get_analyzer_time ()

    idmef_time_t *
    idmef_alert_get_analyzer_time (idmef_alert_t *ptr);

Get analyzer_time children of the idmef_alert_t object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_alert_set_analyzer_time ()

    void
    idmef_alert_set_analyzer_time (idmef_alert_t *ptr,
                                   idmef_time_t *analyzer_time);

Set `analyzer_time` object as a children of `ptr` . if `ptr` already contain an `analyzer_time` object, then it is destroyed, and updated to point to the provided `analyzer_time` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
analyzer_time | pointer to a idmef_time_t object. |

### idmef_alert_new_analyzer_time ()

    int
    idmef_alert_new_analyzer_time (idmef_alert_t *ptr,
                                   idmef_time_t **ret);

Create a new analyzer_time object, children of idmef_alert_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_alert_get_next_source ()

    idmef_source_t *
    idmef_alert_get_next_source (idmef_alert_t *alert,
                                 idmef_source_t *source_cur);

Get the next idmef_source_t object listed in `ptr` . When iterating over the idmef_source_t object listed in `ptr` , `object` should be set to the latest returned idmef_source_t object.

#### Parameters

alert | pointer to a idmef_alert_t object. |
source_cur | pointer to a idmef_source_t object. |

#### Returns

the next idmef_source_t in the list.

### idmef_alert_set_source ()

    void
    idmef_alert_set_source (idmef_alert_t *ptr,
                            idmef_source_t *object,
                            int pos);

Add `object` to position `pos` of `ptr` list of idmef_source_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
object | pointer to a idmef_source_t object. |
pos | Position in the list. |

### idmef_alert_new_source ()

    int
    idmef_alert_new_source (idmef_alert_t *ptr,
                            idmef_source_t **ret,
                            int pos);

Create a new idmef_source_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_source_t object. The created idmef_source_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_source_t object. |
pos | position in the list. |

#### Returns

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

### idmef_alert_get_next_target ()

    idmef_target_t *
    idmef_alert_get_next_target (idmef_alert_t *alert,
                                 idmef_target_t *target_cur);

Get the next idmef_target_t object listed in `ptr` . When iterating over the idmef_target_t object listed in `ptr` , `object` should be set to the latest returned idmef_target_t object.

#### Parameters

alert | pointer to a idmef_alert_t object. |
target_cur | pointer to a idmef_target_t object. |

#### Returns

the next idmef_target_t in the list.

### idmef_alert_set_target ()

    void
    idmef_alert_set_target (idmef_alert_t *ptr,
                            idmef_target_t *object,
                            int pos);

Add `object` to position `pos` of `ptr` list of idmef_target_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
object | pointer to a idmef_target_t object. |
pos | Position in the list. |

### idmef_alert_new_target ()

    int
    idmef_alert_new_target (idmef_alert_t *ptr,
                            idmef_target_t **ret,
                            int pos);

Create a new idmef_target_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_target_t object. The created idmef_target_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_target_t object. |
pos | position in the list. |

#### Returns

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

### idmef_alert_get_assessment ()

    idmef_assessment_t *
    idmef_alert_get_assessment (idmef_alert_t *ptr);

Get assessment children of the idmef_alert_t object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to a idmef_assessment_t object, or NULL if the children object is not set.

### idmef_alert_set_assessment ()

    void
    idmef_alert_set_assessment (idmef_alert_t *ptr,
                                idmef_assessment_t *assessment);

Set `assessment` object as a children of `ptr` . if `ptr` already contain an `assessment` object, then it is destroyed, and updated to point to the provided `assessment` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
assessment | pointer to a idmef_assessment_t object. |

### idmef_alert_new_assessment ()

    int
    idmef_alert_new_assessment (idmef_alert_t *ptr,
                                idmef_assessment_t **ret);

Create a new assessment object, children of idmef_alert_t. If `ptr` already contain a idmef_assessment_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_assessment_t object. |

#### Returns

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

### idmef_alert_get_next_additional_data ()

    idmef_additional_data_t *
    idmef_alert_get_next_additional_data (idmef_alert_t *alert,
                                          idmef_additional_data_t *additional_data_cur);

Get the next idmef_additional_data_t object listed in `ptr` . When iterating over the idmef_additional_data_t object listed in `ptr` , `object` should be set to the latest returned idmef_additional_data_t object.

#### Parameters

alert | pointer to a idmef_alert_t object. |
additional_data_cur | pointer to a idmef_additional_data_t object. |

#### Returns

the next idmef_additional_data_t in the list.

### idmef_alert_set_additional_data ()

    void
    idmef_alert_set_additional_data (idmef_alert_t *ptr,
                                     idmef_additional_data_t *object,
                                     int pos);

Add `object` to position `pos` of `ptr` list of idmef_additional_data_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
object | pointer to a idmef_additional_data_t object. |
pos | Position in the list. |

### idmef_alert_new_additional_data ()

    int
    idmef_alert_new_additional_data (idmef_alert_t *ptr,
                                     idmef_additional_data_t **ret,
                                     int pos);

Create a new idmef_additional_data_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_additional_data_t object. The created idmef_additional_data_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer to an address where to store the created idmef_additional_data_t object. |
pos | position in the list. |

#### Returns

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

### idmef_alert_get_type ()

    idmef_alert_type_t
    idmef_alert_get_type (idmef_alert_t *ptr);

Access the type children of `ptr` .

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to the idmef_alert_type_t children, or NULL if it is not set.

### idmef_alert_get_tool_alert ()

    idmef_tool_alert_t *
    idmef_alert_get_tool_alert (idmef_alert_t *ptr);

Access the tool_alert children of `ptr` .

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to the idmef_tool_alert_t children, or NULL if it is not set.

### idmef_alert_set_tool_alert ()

    void
    idmef_alert_set_tool_alert (idmef_alert_t *ptr,
                                idmef_tool_alert_t *tool_alert);

Set `tool_alert` object as a children of `ptr` . if `ptr` already contain a `tool_alert` object, then it is destroyed, and updated to point to the provided `tool_alert` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
tool_alert | pointer to a idmef_tool_alert_t object. |

### idmef_alert_new_tool_alert ()

    int
    idmef_alert_new_tool_alert (idmef_alert_t *ptr,
                                idmef_tool_alert_t **ret);

Create a new idmef_tool_alert_t object, children of idmef_alert_t. If `ptr` already contain a idmef_tool_alert_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer where to store the created idmef_tool_alert_t object. |

#### Returns

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

### idmef_alert_get_correlation_alert ()

    idmef_correlation_alert_t *
    idmef_alert_get_correlation_alert (idmef_alert_t *ptr);

Access the correlation_alert children of `ptr` .

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to the idmef_correlation_alert_t children, or NULL if it is not set.

### idmef_alert_set_correlation_alert ()

    void
    idmef_alert_set_correlation_alert (idmef_alert_t *ptr,
                                       idmef_correlation_alert_t *correlation_alert);

Set `correlation_alert` object as a children of `ptr` . if `ptr` already contain a `correlation_alert` object, then it is destroyed, and updated to point to the provided `correlation_alert` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
correlation_alert | pointer to a idmef_correlation_alert_t object. |

### idmef_alert_new_correlation_alert ()

    int
    idmef_alert_new_correlation_alert (idmef_alert_t *ptr,
                                       idmef_correlation_alert_t **ret);

Create a new idmef_correlation_alert_t object, children of idmef_alert_t. If `ptr` already contain a idmef_correlation_alert_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer where to store the created idmef_correlation_alert_t object. |

#### Returns

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

### idmef_alert_get_overflow_alert ()

    idmef_overflow_alert_t *
    idmef_alert_get_overflow_alert (idmef_alert_t *ptr);

Access the overflow_alert children of `ptr` .

#### Parameters

ptr | pointer to a idmef_alert_t object. |

#### Returns

a pointer to the idmef_overflow_alert_t children, or NULL if it is not set.

### idmef_alert_set_overflow_alert ()

    void
    idmef_alert_set_overflow_alert (idmef_alert_t *ptr,
                                    idmef_overflow_alert_t *overflow_alert);

Set `overflow_alert` object as a children of `ptr` . if `ptr` already contain a `overflow_alert` object, then it is destroyed, and updated to point to the provided `overflow_alert` object.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
overflow_alert | pointer to a idmef_overflow_alert_t object. |

### idmef_alert_new_overflow_alert ()

    int
    idmef_alert_new_overflow_alert (idmef_alert_t *ptr,
                                    idmef_overflow_alert_t **ret);

Create a new idmef_overflow_alert_t object, children of idmef_alert_t. If `ptr` already contain a idmef_overflow_alert_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_alert_t object. |
ret | pointer where to store the created idmef_overflow_alert_t object. |

#### Returns

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

### idmef_heartbeat_new ()

    int
    idmef_heartbeat_new (idmef_heartbeat_t **ret);

Create a new idmef_heartbeat_t object.

#### Parameters

ret | Pointer where to store the created idmef_heartbeat_t object. |

#### Returns

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

### idmef_heartbeat_copy ()

    int
    idmef_heartbeat_copy (const idmef_heartbeat_t *src,
                          idmef_heartbeat_t *dst);

Copy a new idmef_heartbeat_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_heartbeat_clone ()

    int
    idmef_heartbeat_clone (idmef_heartbeat_t *src,
                           idmef_heartbeat_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_heartbeat_ref ()

    idmef_heartbeat_t *
    idmef_heartbeat_ref (idmef_heartbeat_t *heartbeat);

Increase `heartbeat` reference count, so that it can be referenced multiple time.

#### Parameters

heartbeat | pointer to a idmef_heartbeat_t object. |

#### Returns

a pointer to `heartbeat` .

### idmef_heartbeat_destroy ()

    void
    idmef_heartbeat_destroy (idmef_heartbeat_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |

### idmef_heartbeat_get_messageid ()

    prelude_string_t *
    idmef_heartbeat_get_messageid (idmef_heartbeat_t *ptr);

Get messageid children of the idmef_heartbeat_t object.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_heartbeat_set_messageid ()

    void
    idmef_heartbeat_set_messageid (idmef_heartbeat_t *ptr,
                                   prelude_string_t *messageid);

Set `messageid` object as a children of `ptr` . if `ptr` already contain an `messageid` object, then it is destroyed, and updated to point to the provided `messageid` object.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
messageid | pointer to a prelude_string_t object. |

### idmef_heartbeat_new_messageid ()

    int
    idmef_heartbeat_new_messageid (idmef_heartbeat_t *ptr,
                                   prelude_string_t **ret);

Create a new messageid object, children of idmef_heartbeat_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_heartbeat_get_next_analyzer ()

    idmef_analyzer_t *
    idmef_heartbeat_get_next_analyzer (idmef_heartbeat_t *heartbeat,
                                       idmef_analyzer_t *analyzer_cur);

Get the next idmef_analyzer_t object listed in `ptr` . When iterating over the idmef_analyzer_t object listed in `ptr` , `object` should be set to the latest returned idmef_analyzer_t object.

#### Parameters

heartbeat | pointer to a idmef_heartbeat_t object. |
analyzer_cur | pointer to a idmef_analyzer_t object. |

#### Returns

the next idmef_analyzer_t in the list.

### idmef_heartbeat_set_analyzer ()

    void
    idmef_heartbeat_set_analyzer (idmef_heartbeat_t *ptr,
                                  idmef_analyzer_t *object,
                                  int pos);

Add `object` to position `pos` of `ptr` list of idmef_analyzer_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
object | pointer to a idmef_analyzer_t object. |
pos | Position in the list. |

### idmef_heartbeat_new_analyzer ()

    int
    idmef_heartbeat_new_analyzer (idmef_heartbeat_t *ptr,
                                  idmef_analyzer_t **ret,
                                  int pos);

Create a new idmef_analyzer_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_analyzer_t object. The created idmef_analyzer_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
ret | pointer to an address where to store the created idmef_analyzer_t object. |
pos | position in the list. |

#### Returns

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

### idmef_heartbeat_get_create_time ()

    idmef_time_t *
    idmef_heartbeat_get_create_time (idmef_heartbeat_t *ptr);

Get create_time children of the idmef_heartbeat_t object.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_heartbeat_set_create_time ()

    void
    idmef_heartbeat_set_create_time (idmef_heartbeat_t *ptr,
                                     idmef_time_t *create_time);

Set `create_time` object as a children of `ptr` . if `ptr` already contain an `create_time` object, then it is destroyed, and updated to point to the provided `create_time` object.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
create_time | pointer to a idmef_time_t object. |

### idmef_heartbeat_new_create_time ()

    int
    idmef_heartbeat_new_create_time (idmef_heartbeat_t *ptr,
                                     idmef_time_t **ret);

Create a new create_time object, children of idmef_heartbeat_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_heartbeat_get_analyzer_time ()

    idmef_time_t *
    idmef_heartbeat_get_analyzer_time (idmef_heartbeat_t *ptr);

Get analyzer_time children of the idmef_heartbeat_t object.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |

#### Returns

a pointer to a idmef_time_t object, or NULL if the children object is not set.

### idmef_heartbeat_set_analyzer_time ()

    void
    idmef_heartbeat_set_analyzer_time (idmef_heartbeat_t *ptr,
                                       idmef_time_t *analyzer_time);

Set `analyzer_time` object as a children of `ptr` . if `ptr` already contain an `analyzer_time` object, then it is destroyed, and updated to point to the provided `analyzer_time` object.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
analyzer_time | pointer to a idmef_time_t object. |

### idmef_heartbeat_new_analyzer_time ()

    int
    idmef_heartbeat_new_analyzer_time (idmef_heartbeat_t *ptr,
                                       idmef_time_t **ret);

Create a new analyzer_time object, children of idmef_heartbeat_t. If `ptr` already contain a idmef_time_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
ret | pointer to an address where to store the created idmef_time_t object. |

#### Returns

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

### idmef_heartbeat_unset_heartbeat_interval ()

    void
    idmef_heartbeat_unset_heartbeat_interval
                                   (idmef_heartbeat_t *ptr);

### idmef_heartbeat_get_heartbeat_interval ()

    uint32_t *
    idmef_heartbeat_get_heartbeat_interval
                                   (idmef_heartbeat_t *ptr);

Get heartbeat_interval children of the idmef_heartbeat_t object.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |

#### Returns

a pointer to a uint32_t object, or NULL if the children object is not set.

### idmef_heartbeat_set_heartbeat_interval ()

    void
    idmef_heartbeat_set_heartbeat_interval
                                   (idmef_heartbeat_t *ptr,
                                    uint32_t heartbeat_interval);

Set `heartbeat_interval` object as a children of `ptr` . if `ptr` already contain an `heartbeat_interval` object, then it is destroyed, and updated to point to the provided `heartbeat_interval` object.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
heartbeat_interval | pointer to a uint32_t object. |

### idmef_heartbeat_new_heartbeat_interval ()

    int
    idmef_heartbeat_new_heartbeat_interval
                                   (idmef_heartbeat_t *ptr,
                                    uint32_t **ret);

Create a new heartbeat_interval object, children of idmef_heartbeat_t. If `ptr` already contain a uint32_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
ret | pointer to an address where to store the created uint32_t object. |

#### Returns

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

### idmef_heartbeat_get_next_additional_data ()

    idmef_additional_data_t *
    idmef_heartbeat_get_next_additional_data
                                   (idmef_heartbeat_t *heartbeat,
                                    idmef_additional_data_t *additional_data_cur);

Get the next idmef_additional_data_t object listed in `ptr` . When iterating over the idmef_additional_data_t object listed in `ptr` , `object` should be set to the latest returned idmef_additional_data_t object.

#### Parameters

heartbeat | pointer to a idmef_heartbeat_t object. |
additional_data_cur | pointer to a idmef_additional_data_t object. |

#### Returns

the next idmef_additional_data_t in the list.

### idmef_heartbeat_set_additional_data ()

    void
    idmef_heartbeat_set_additional_data (idmef_heartbeat_t *ptr,
                                         idmef_additional_data_t *object,
                                         int pos);

Add `object` to position `pos` of `ptr` list of idmef_additional_data_t object.

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
object | pointer to a idmef_additional_data_t object. |
pos | Position in the list. |

### idmef_heartbeat_new_additional_data ()

    int
    idmef_heartbeat_new_additional_data (idmef_heartbeat_t *ptr,
                                         idmef_additional_data_t **ret,
                                         int pos);

Create a new idmef_additional_data_t children of `ptr` , and add it to position `pos` of `ptr` list of idmef_additional_data_t object. The created idmef_additional_data_t object is stored in `ret` .

If `pos` is IDMEF_LIST_APPEND, `object` will be inserted at the tail of the list. If `pos` is IDMEF_LIST_PREPEND, `object` will be inserted at the head of the list.

#### Parameters

ptr | pointer to a idmef_heartbeat_t object. |
ret | pointer to an address where to store the created idmef_additional_data_t object. |
pos | position in the list. |

#### Returns

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

### idmef_message_type_to_numeric ()

    idmef_message_type_t
    idmef_message_type_to_numeric (const char *name);

#### Parameters

name | pointer to an IDMEF string representation of a idmef_message_type_t value. |

#### Returns

the numeric equivalent of `name` , or -1 if `name` is not valid.

### idmef_message_type_to_string ()

    const char *
    idmef_message_type_to_string (idmef_message_type_t val);

Return the IDMEF string equivalent of `val` provided idmef_message_type_t value.

#### Parameters

val | an enumeration value for idmef_message_type_t. |

#### Returns

a pointer to the string describing `val` , or NULL if `val` is invalid.

### idmef_message_new ()

    int
    idmef_message_new (idmef_message_t **ret);

Create a new idmef_message_t object.

#### Parameters

ret | Pointer where to store the created idmef_message_t object. |

#### Returns

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

### idmef_message_copy ()

    int
    idmef_message_copy (const idmef_message_t *src,
                        idmef_message_t *dst);

Copy a new idmef_message_t object from `src` to `dst` .

#### Parameters

src | Source of the copy. |
dst | Where to copy the object. |

#### Returns

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

### idmef_message_clone ()

    int
    idmef_message_clone (idmef_message_t *src,
                         idmef_message_t **dst);

Create a copy of `src` , and store it in `dst` .

#### Parameters

src | Object to be cloned. |
dst | Address where to store the pointer to the cloned object. |

#### Returns

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

### idmef_message_ref ()

    idmef_message_t *
    idmef_message_ref (idmef_message_t *message);

Increase `message` reference count, so that it can be referenced multiple time.

#### Parameters

message | pointer to a idmef_message_t object. |

#### Returns

a pointer to `message` .

### idmef_message_destroy ()

    void
    idmef_message_destroy (idmef_message_t *ptr);

Destroy `ptr` and all of it's children. The objects are only destroyed if their reference count reach zero.

#### Parameters

ptr | pointer to a idmef_message_t object. |

### idmef_message_get_version ()

    prelude_string_t *
    idmef_message_get_version (idmef_message_t *ptr);

Get version children of the idmef_message_t object.

#### Parameters

ptr | pointer to a idmef_message_t object. |

#### Returns

a pointer to a prelude_string_t object, or NULL if the children object is not set.

### idmef_message_set_version ()

    void
    idmef_message_set_version (idmef_message_t *ptr,
                               prelude_string_t *version);

Set `version` object as a children of `ptr` . if `ptr` already contain an `version` object, then it is destroyed, and updated to point to the provided `version` object.

#### Parameters

ptr | pointer to a idmef_message_t object. |
version | pointer to a prelude_string_t object. |

### idmef_message_new_version ()

    int
    idmef_message_new_version (idmef_message_t *ptr,
                               prelude_string_t **ret);

Create a new version object, children of idmef_message_t. If `ptr` already contain a prelude_string_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_message_t object. |
ret | pointer to an address where to store the created prelude_string_t object. |

#### Returns

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

### idmef_message_get_type ()

    idmef_message_type_t
    idmef_message_get_type (idmef_message_t *ptr);

Access the type children of `ptr` .

#### Parameters

ptr | pointer to a idmef_message_t object. |

#### Returns

a pointer to the idmef_message_type_t children, or NULL if it is not set.

### idmef_message_get_alert ()

    idmef_alert_t *
    idmef_message_get_alert (idmef_message_t *ptr);

Access the alert children of `ptr` .

#### Parameters

ptr | pointer to a idmef_message_t object. |

#### Returns

a pointer to the idmef_alert_t children, or NULL if it is not set.

### idmef_message_set_alert ()

    void
    idmef_message_set_alert (idmef_message_t *ptr,
                             idmef_alert_t *alert);

Set `alert` object as a children of `ptr` . if `ptr` already contain a `alert` object, then it is destroyed, and updated to point to the provided `alert` object.

#### Parameters

ptr | pointer to a idmef_message_t object. |
alert | pointer to a idmef_alert_t object. |

### idmef_message_new_alert ()

    int
    idmef_message_new_alert (idmef_message_t *ptr,
                             idmef_alert_t **ret);

Create a new idmef_alert_t object, children of idmef_message_t. If `ptr` already contain a idmef_alert_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_message_t object. |
ret | pointer where to store the created idmef_alert_t object. |

#### Returns

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

### idmef_message_get_heartbeat ()

    idmef_heartbeat_t *
    idmef_message_get_heartbeat (idmef_message_t *ptr);

Access the heartbeat children of `ptr` .

#### Parameters

ptr | pointer to a idmef_message_t object. |

#### Returns

a pointer to the idmef_heartbeat_t children, or NULL if it is not set.

### idmef_message_set_heartbeat ()

    void
    idmef_message_set_heartbeat (idmef_message_t *ptr,
                                 idmef_heartbeat_t *heartbeat);

Set `heartbeat` object as a children of `ptr` . if `ptr` already contain a `heartbeat` object, then it is destroyed, and updated to point to the provided `heartbeat` object.

#### Parameters

ptr | pointer to a idmef_message_t object. |
heartbeat | pointer to a idmef_heartbeat_t object. |

### idmef_message_new_heartbeat ()

    int
    idmef_message_new_heartbeat (idmef_message_t *ptr,
                                 idmef_heartbeat_t **ret);

Create a new idmef_heartbeat_t object, children of idmef_message_t. If `ptr` already contain a idmef_heartbeat_t object, then it is destroyed.

#### Parameters

ptr | pointer to a idmef_message_t object. |
ret | pointer where to store the created idmef_heartbeat_t object. |

#### Returns

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

### idmef_message_set_pmsg ()

    void
    idmef_message_set_pmsg (idmef_message_t *message,
                            prelude_msg_t *msg);

### idmef_message_get_pmsg ()

    prelude_msg_t *
    idmef_message_get_pmsg (idmef_message_t *message);

### idmef_action_compare ()

    int
    idmef_action_compare (const idmef_action_t *obj1,
                          const idmef_action_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_additional_data_compare ()

    int
    idmef_additional_data_compare (const idmef_additional_data_t *obj1,
                                   const idmef_additional_data_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_address_compare ()

    int
    idmef_address_compare (const idmef_address_t *obj1,
                           const idmef_address_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_alert_compare ()

    int
    idmef_alert_compare (const idmef_alert_t *obj1,
                         const idmef_alert_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_alertident_compare ()

    int
    idmef_alertident_compare (const idmef_alertident_t *obj1,
                              const idmef_alertident_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_analyzer_compare ()

    int
    idmef_analyzer_compare (const idmef_analyzer_t *obj1,
                            const idmef_analyzer_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_assessment_compare ()

    int
    idmef_assessment_compare (const idmef_assessment_t *obj1,
                              const idmef_assessment_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_checksum_compare ()

    int
    idmef_checksum_compare (const idmef_checksum_t *obj1,
                            const idmef_checksum_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_classification_compare ()

    int
    idmef_classification_compare (const idmef_classification_t *obj1,
                                  const idmef_classification_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_confidence_compare ()

    int
    idmef_confidence_compare (const idmef_confidence_t *obj1,
                              const idmef_confidence_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_correlation_alert_compare ()

    int
    idmef_correlation_alert_compare (const idmef_correlation_alert_t *obj1,
                                     const idmef_correlation_alert_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_data_compare ()

    int
    idmef_data_compare (const idmef_data_t *data1,
                        const idmef_data_t *data2);

### idmef_file_access_compare ()

    int
    idmef_file_access_compare (const idmef_file_access_t *obj1,
                               const idmef_file_access_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_file_compare ()

    int
    idmef_file_compare (const idmef_file_t *obj1,
                        const idmef_file_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_heartbeat_compare ()

    int
    idmef_heartbeat_compare (const idmef_heartbeat_t *obj1,
                             const idmef_heartbeat_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_impact_compare ()

    int
    idmef_impact_compare (const idmef_impact_t *obj1,
                          const idmef_impact_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_inode_compare ()

    int
    idmef_inode_compare (const idmef_inode_t *obj1,
                         const idmef_inode_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_linkage_compare ()

    int
    idmef_linkage_compare (const idmef_linkage_t *obj1,
                           const idmef_linkage_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_message_compare ()

    int
    idmef_message_compare (const idmef_message_t *obj1,
                           const idmef_message_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_node_compare ()

    int
    idmef_node_compare (const idmef_node_t *obj1,
                        const idmef_node_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_overflow_alert_compare ()

    int
    idmef_overflow_alert_compare (const idmef_overflow_alert_t *obj1,
                                  const idmef_overflow_alert_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_process_compare ()

    int
    idmef_process_compare (const idmef_process_t *obj1,
                           const idmef_process_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_reference_compare ()

    int
    idmef_reference_compare (const idmef_reference_t *obj1,
                             const idmef_reference_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_service_compare ()

    int
    idmef_service_compare (const idmef_service_t *obj1,
                           const idmef_service_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_snmp_service_compare ()

    int
    idmef_snmp_service_compare (const idmef_snmp_service_t *obj1,
                                const idmef_snmp_service_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_source_compare ()

    int
    idmef_source_compare (const idmef_source_t *obj1,
                          const idmef_source_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_target_compare ()

    int
    idmef_target_compare (const idmef_target_t *obj1,
                          const idmef_target_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_time_compare ()

    int
    idmef_time_compare (const idmef_time_t *time1,
                        const idmef_time_t *time2);

#### Parameters

time1 | Pointer to an idmef_time_t object to compare with `time2` . |
time2 | Pointer to an idmef_time_t object to compare with `time1` . |

#### Returns

0 if `time1` and `time2` match, 1 if `time1` is greater than `time2` , -1 if `time1` is lesser than `time2` .

### idmef_tool_alert_compare ()

    int
    idmef_tool_alert_compare (const idmef_tool_alert_t *obj1,
                              const idmef_tool_alert_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_user_compare ()

    int
    idmef_user_compare (const idmef_user_t *obj1,
                        const idmef_user_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_user_id_compare ()

    int
    idmef_user_id_compare (const idmef_user_id_t *obj1,
                           const idmef_user_id_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

### idmef_web_service_compare ()

    int
    idmef_web_service_compare (const idmef_web_service_t *obj1,
                               const idmef_web_service_t *obj2);

Compare `obj1` with `obj2` .

#### Parameters

obj1 | Object to compare with `obj2` . |
obj2 | Object to compare with `obj1` . |

#### Returns

0 on match, a negative value on comparison failure.

## Types and Values

### IDMEF_LIST_APPEND

    #define IDMEF_LIST_APPEND  INT_MAX

### IDMEF_LIST_PREPEND

    #define IDMEF_LIST_PREPEND (INT_MAX - 1)

### enum idmef_additional_data_type_t

#### Members

IDMEF_ADDITIONAL_DATA_TYPE_ERROR |  |
IDMEF_ADDITIONAL_DATA_TYPE_STRING |  |
IDMEF_ADDITIONAL_DATA_TYPE_BYTE |  |
IDMEF_ADDITIONAL_DATA_TYPE_CHARACTER |  |
IDMEF_ADDITIONAL_DATA_TYPE_DATE_TIME |  |
IDMEF_ADDITIONAL_DATA_TYPE_INTEGER |  |
IDMEF_ADDITIONAL_DATA_TYPE_NTPSTAMP |  |
IDMEF_ADDITIONAL_DATA_TYPE_PORTLIST |  |
IDMEF_ADDITIONAL_DATA_TYPE_REAL |  |
IDMEF_ADDITIONAL_DATA_TYPE_BOOLEAN |  |
IDMEF_ADDITIONAL_DATA_TYPE_BYTE_STRING |  |
IDMEF_ADDITIONAL_DATA_TYPE_XML |  |

### idmef_additional_data_t

    typedef struct idmef_additional_data idmef_additional_data_t;

### enum idmef_reference_origin_t

#### Members

IDMEF_REFERENCE_ORIGIN_ERROR |  |
IDMEF_REFERENCE_ORIGIN_UNKNOWN |  |
IDMEF_REFERENCE_ORIGIN_VENDOR_SPECIFIC |  |
IDMEF_REFERENCE_ORIGIN_USER_SPECIFIC |  |
IDMEF_REFERENCE_ORIGIN_BUGTRAQID |  |
IDMEF_REFERENCE_ORIGIN_CVE |  |
IDMEF_REFERENCE_ORIGIN_OSVDB |  |

### idmef_reference_t

    typedef struct idmef_reference idmef_reference_t;

### idmef_classification_t

    typedef struct idmef_classification idmef_classification_t;

### enum idmef_user_id_type_t

#### Members

IDMEF_USER_ID_TYPE_ORIGINAL_ERROR |  |
IDMEF_USER_ID_TYPE_ORIGINAL_USER |  |
IDMEF_USER_ID_TYPE_CURRENT_USER |  |
IDMEF_USER_ID_TYPE_TARGET_USER |  |
IDMEF_USER_ID_TYPE_USER_PRIVS |  |
IDMEF_USER_ID_TYPE_CURRENT_GROUP |  |
IDMEF_USER_ID_TYPE_GROUP_PRIVS |  |
IDMEF_USER_ID_TYPE_OTHER_PRIVS |  |

### idmef_user_id_t

    typedef struct idmef_user_id idmef_user_id_t;

### enum idmef_user_category_t

#### Members

IDMEF_USER_CATEGORY_ERROR |  |
IDMEF_USER_CATEGORY_UNKNOWN |  |
IDMEF_USER_CATEGORY_APPLICATION |  |
IDMEF_USER_CATEGORY_OS_DEVICE |  |

### idmef_user_t

    typedef struct idmef_user idmef_user_t;

### enum idmef_address_category_t

#### Members

IDMEF_ADDRESS_CATEGORY_ERROR |  |
IDMEF_ADDRESS_CATEGORY_UNKNOWN |  |
IDMEF_ADDRESS_CATEGORY_ATM |  |
IDMEF_ADDRESS_CATEGORY_E_MAIL |  |
IDMEF_ADDRESS_CATEGORY_LOTUS_NOTES |  |
IDMEF_ADDRESS_CATEGORY_MAC |  |
IDMEF_ADDRESS_CATEGORY_SNA |  |
IDMEF_ADDRESS_CATEGORY_VM |  |
IDMEF_ADDRESS_CATEGORY_IPV4_ADDR |  |
IDMEF_ADDRESS_CATEGORY_IPV4_ADDR_HEX |  |
IDMEF_ADDRESS_CATEGORY_IPV4_NET |  |
IDMEF_ADDRESS_CATEGORY_IPV4_NET_MASK |  |
IDMEF_ADDRESS_CATEGORY_IPV6_ADDR |  |
IDMEF_ADDRESS_CATEGORY_IPV6_ADDR_HEX |  |
IDMEF_ADDRESS_CATEGORY_IPV6_NET |  |
IDMEF_ADDRESS_CATEGORY_IPV6_NET_MASK |  |

### idmef_address_t

    typedef struct idmef_address idmef_address_t;

### idmef_process_t

    typedef struct idmef_process idmef_process_t;

### idmef_web_service_t

    typedef struct idmef_web_service idmef_web_service_t;

### idmef_snmp_service_t

    typedef struct idmef_snmp_service idmef_snmp_service_t;

### enum idmef_service_type_t

#### Members

IDMEF_SERVICE_TYPE_ERROR |  |
IDMEF_SERVICE_TYPE_DEFAULT |  |
IDMEF_SERVICE_TYPE_WEB |  |
IDMEF_SERVICE_TYPE_SNMP |  |

### idmef_service_t

    typedef struct idmef_service idmef_service_t;

### enum idmef_node_category_t

#### Members

IDMEF_NODE_CATEGORY_ERROR |  |
IDMEF_NODE_CATEGORY_UNKNOWN |  |
IDMEF_NODE_CATEGORY_ADS |  |
IDMEF_NODE_CATEGORY_AFS |  |
IDMEF_NODE_CATEGORY_CODA |  |
IDMEF_NODE_CATEGORY_DFS |  |
IDMEF_NODE_CATEGORY_DNS |  |
IDMEF_NODE_CATEGORY_HOSTS |  |
IDMEF_NODE_CATEGORY_KERBEROS |  |
IDMEF_NODE_CATEGORY_NDS |  |
IDMEF_NODE_CATEGORY_NIS |  |
IDMEF_NODE_CATEGORY_NISPLUS |  |
IDMEF_NODE_CATEGORY_NT |  |
IDMEF_NODE_CATEGORY_WFW |  |

### idmef_node_t

    typedef struct idmef_node idmef_node_t;

### enum idmef_source_spoofed_t

#### Members

IDMEF_SOURCE_SPOOFED_ERROR |  |
IDMEF_SOURCE_SPOOFED_UNKNOWN |  |
IDMEF_SOURCE_SPOOFED_YES |  |
IDMEF_SOURCE_SPOOFED_NO |  |

### idmef_source_t

    typedef struct idmef_source idmef_source_t;

### idmef_file_access_t

    typedef struct idmef_file_access idmef_file_access_t;

### idmef_inode_t

    typedef struct idmef_inode idmef_inode_t;

### idmef_linkage_t

    typedef struct idmef_linkage idmef_linkage_t;

### enum idmef_checksum_algorithm_t

#### Members

IDMEF_CHECKSUM_ALGORITHM_ERROR |  |
IDMEF_CHECKSUM_ALGORITHM_MD4 |  |
IDMEF_CHECKSUM_ALGORITHM_MD5 |  |
IDMEF_CHECKSUM_ALGORITHM_SHA1 |  |
IDMEF_CHECKSUM_ALGORITHM_SHA2_256 |  |
IDMEF_CHECKSUM_ALGORITHM_SHA2_384 |  |
IDMEF_CHECKSUM_ALGORITHM_SHA2_512 |  |
IDMEF_CHECKSUM_ALGORITHM_CRC_32 |  |
IDMEF_CHECKSUM_ALGORITHM_HAVAL |  |
IDMEF_CHECKSUM_ALGORITHM_TIGER |  |
IDMEF_CHECKSUM_ALGORITHM_GOST |  |

### idmef_checksum_t

    typedef struct idmef_checksum idmef_checksum_t;

### enum idmef_file_category_t

#### Members

IDMEF_FILE_CATEGORY_ERROR |  |
IDMEF_FILE_CATEGORY_CURRENT |  |
IDMEF_FILE_CATEGORY_ORIGINAL |  |

### enum idmef_file_fstype_t

#### Members

IDMEF_FILE_FSTYPE_ERROR |  |
IDMEF_FILE_FSTYPE_UFS |  |
IDMEF_FILE_FSTYPE_EFS |  |
IDMEF_FILE_FSTYPE_NFS |  |
IDMEF_FILE_FSTYPE_AFS |  |
IDMEF_FILE_FSTYPE_NTFS |  |
IDMEF_FILE_FSTYPE_FAT16 |  |
IDMEF_FILE_FSTYPE_FAT32 |  |
IDMEF_FILE_FSTYPE_PCFS |  |
IDMEF_FILE_FSTYPE_JOLIET |  |
IDMEF_FILE_FSTYPE_ISO9660 |  |

### idmef_file_t

    typedef struct idmef_file idmef_file_t;

### enum idmef_linkage_category_t

#### Members

IDMEF_LINKAGE_CATEGORY_ERROR |  |
IDMEF_LINKAGE_CATEGORY_HARD_LINK |  |
IDMEF_LINKAGE_CATEGORY_MOUNT_POINT |  |
IDMEF_LINKAGE_CATEGORY_REPARSE_POINT |  |
IDMEF_LINKAGE_CATEGORY_SHORTCUT |  |
IDMEF_LINKAGE_CATEGORY_STREAM |  |
IDMEF_LINKAGE_CATEGORY_SYMBOLIC_LINK |  |

### enum idmef_target_decoy_t

#### Members

IDMEF_TARGET_DECOY_ERROR |  |
IDMEF_TARGET_DECOY_UNKNOWN |  |
IDMEF_TARGET_DECOY_YES |  |
IDMEF_TARGET_DECOY_NO |  |

### idmef_target_t

    typedef struct idmef_target idmef_target_t;

### idmef_analyzer_t

    typedef struct idmef_analyzer idmef_analyzer_t;

### idmef_alertident_t

    typedef struct idmef_alertident idmef_alertident_t;

### enum idmef_impact_severity_t

#### Members

IDMEF_IMPACT_SEVERITY_ERROR |  |
IDMEF_IMPACT_SEVERITY_INFO |  |
IDMEF_IMPACT_SEVERITY_LOW |  |
IDMEF_IMPACT_SEVERITY_MEDIUM |  |
IDMEF_IMPACT_SEVERITY_HIGH |  |

### enum idmef_impact_completion_t

#### Members

IDMEF_IMPACT_COMPLETION_ERROR |  |
IDMEF_IMPACT_COMPLETION_FAILED |  |
IDMEF_IMPACT_COMPLETION_SUCCEEDED |  |

### enum idmef_impact_type_t

#### Members

IDMEF_IMPACT_TYPE_ERROR |  |
IDMEF_IMPACT_TYPE_OTHER |  |
IDMEF_IMPACT_TYPE_ADMIN |  |
IDMEF_IMPACT_TYPE_DOS |  |
IDMEF_IMPACT_TYPE_FILE |  |
IDMEF_IMPACT_TYPE_RECON |  |
IDMEF_IMPACT_TYPE_USER |  |

### idmef_impact_t

    typedef struct idmef_impact idmef_impact_t;

### enum idmef_action_category_t

#### Members

IDMEF_ACTION_CATEGORY_ERROR |  |
IDMEF_ACTION_CATEGORY_OTHER |  |
IDMEF_ACTION_CATEGORY_BLOCK_INSTALLED |  |
IDMEF_ACTION_CATEGORY_NOTIFICATION_SENT |  |
IDMEF_ACTION_CATEGORY_TAKEN_OFFLINE |  |

### idmef_action_t

    typedef struct idmef_action idmef_action_t;

### enum idmef_confidence_rating_t

#### Members

IDMEF_CONFIDENCE_RATING_ERROR |  |
IDMEF_CONFIDENCE_RATING_NUMERIC |  |
IDMEF_CONFIDENCE_RATING_LOW |  |
IDMEF_CONFIDENCE_RATING_MEDIUM |  |
IDMEF_CONFIDENCE_RATING_HIGH |  |

### idmef_confidence_t

    typedef struct idmef_confidence idmef_confidence_t;

### idmef_assessment_t

    typedef struct idmef_assessment idmef_assessment_t;

### idmef_tool_alert_t

    typedef struct idmef_tool_alert idmef_tool_alert_t;

### idmef_correlation_alert_t

    typedef struct idmef_correlation_alert idmef_correlation_alert_t;

### idmef_overflow_alert_t

    typedef struct idmef_overflow_alert idmef_overflow_alert_t;

### enum idmef_alert_type_t

#### Members

IDMEF_ALERT_TYPE_ERROR |  |
IDMEF_ALERT_TYPE_DEFAULT |  |
IDMEF_ALERT_TYPE_TOOL |  |
IDMEF_ALERT_TYPE_CORRELATION |  |
IDMEF_ALERT_TYPE_OVERFLOW |  |

### idmef_alert_t

    typedef struct idmef_alert idmef_alert_t;

### idmef_heartbeat_t

    typedef struct idmef_heartbeat idmef_heartbeat_t;

### enum idmef_message_type_t

#### Members

IDMEF_MESSAGE_TYPE_ERROR |  |
IDMEF_MESSAGE_TYPE_ALERT |  |
IDMEF_MESSAGE_TYPE_HEARTBEAT |  |

### idmef_message_t

    typedef struct idmef_message idmef_message_t;

### IDMEF_CLASS_ID_ADDITIONAL_DATA_TYPE

    #define IDMEF_CLASS_ID_ADDITIONAL_DATA_TYPE 3

### IDMEF_CLASS_ID_ADDITIONAL_DATA

    #define IDMEF_CLASS_ID_ADDITIONAL_DATA 4

### IDMEF_CLASS_ID_REFERENCE_ORIGIN

    #define IDMEF_CLASS_ID_REFERENCE_ORIGIN 5

### IDMEF_CLASS_ID_REFERENCE

    #define IDMEF_CLASS_ID_REFERENCE 50

### IDMEF_CLASS_ID_CLASSIFICATION

    #define IDMEF_CLASS_ID_CLASSIFICATION 6

### IDMEF_CLASS_ID_USER_ID_TYPE

    #define IDMEF_CLASS_ID_USER_ID_TYPE 7

### IDMEF_CLASS_ID_USER_ID

    #define IDMEF_CLASS_ID_USER_ID 8

### IDMEF_CLASS_ID_USER_CATEGORY

    #define IDMEF_CLASS_ID_USER_CATEGORY 9

### IDMEF_CLASS_ID_USER

    #define IDMEF_CLASS_ID_USER 10

### IDMEF_CLASS_ID_ADDRESS_CATEGORY

    #define IDMEF_CLASS_ID_ADDRESS_CATEGORY 11

### IDMEF_CLASS_ID_ADDRESS

    #define IDMEF_CLASS_ID_ADDRESS 12

### IDMEF_CLASS_ID_PROCESS

    #define IDMEF_CLASS_ID_PROCESS 13

### IDMEF_CLASS_ID_WEB_SERVICE

    #define IDMEF_CLASS_ID_WEB_SERVICE 14

### IDMEF_CLASS_ID_SNMP_SERVICE

    #define IDMEF_CLASS_ID_SNMP_SERVICE 15

### IDMEF_CLASS_ID_SERVICE_TYPE

    #define IDMEF_CLASS_ID_SERVICE_TYPE 16

### IDMEF_CLASS_ID_SERVICE

    #define IDMEF_CLASS_ID_SERVICE 17

### IDMEF_CLASS_ID_NODE_CATEGORY

    #define IDMEF_CLASS_ID_NODE_CATEGORY 18

### IDMEF_CLASS_ID_NODE

    #define IDMEF_CLASS_ID_NODE 19

### IDMEF_CLASS_ID_SOURCE_SPOOFED

    #define IDMEF_CLASS_ID_SOURCE_SPOOFED 20

### IDMEF_CLASS_ID_SOURCE

    #define IDMEF_CLASS_ID_SOURCE 21

### IDMEF_CLASS_ID_FILE_ACCESS

    #define IDMEF_CLASS_ID_FILE_ACCESS 22

### IDMEF_CLASS_ID_INODE

    #define IDMEF_CLASS_ID_INODE 23

### IDMEF_CLASS_ID_CHECKSUM_ALGORITHM

    #define IDMEF_CLASS_ID_CHECKSUM_ALGORITHM 53

### IDMEF_CLASS_ID_CHECKSUM

    #define IDMEF_CLASS_ID_CHECKSUM 52

### IDMEF_CLASS_ID_FILE_CATEGORY

    #define IDMEF_CLASS_ID_FILE_CATEGORY 24

### IDMEF_CLASS_ID_FILE_FSTYPE

    #define IDMEF_CLASS_ID_FILE_FSTYPE 25

### IDMEF_CLASS_ID_FILE

    #define IDMEF_CLASS_ID_FILE 26

### IDMEF_CLASS_ID_LINKAGE_CATEGORY

    #define IDMEF_CLASS_ID_LINKAGE_CATEGORY 27

### IDMEF_CLASS_ID_LINKAGE

    #define IDMEF_CLASS_ID_LINKAGE 28

### IDMEF_CLASS_ID_TARGET_DECOY

    #define IDMEF_CLASS_ID_TARGET_DECOY 29

### IDMEF_CLASS_ID_TARGET

    #define IDMEF_CLASS_ID_TARGET 30

### IDMEF_CLASS_ID_ANALYZER

    #define IDMEF_CLASS_ID_ANALYZER 31

### IDMEF_CLASS_ID_ALERTIDENT

    #define IDMEF_CLASS_ID_ALERTIDENT 32

### IDMEF_CLASS_ID_IMPACT_SEVERITY

    #define IDMEF_CLASS_ID_IMPACT_SEVERITY 33

### IDMEF_CLASS_ID_IMPACT_COMPLETION

    #define IDMEF_CLASS_ID_IMPACT_COMPLETION 34

### IDMEF_CLASS_ID_IMPACT_TYPE

    #define IDMEF_CLASS_ID_IMPACT_TYPE 35

### IDMEF_CLASS_ID_IMPACT

    #define IDMEF_CLASS_ID_IMPACT 36

### IDMEF_CLASS_ID_ACTION_CATEGORY

    #define IDMEF_CLASS_ID_ACTION_CATEGORY 37

### IDMEF_CLASS_ID_ACTION

    #define IDMEF_CLASS_ID_ACTION 38

### IDMEF_CLASS_ID_CONFIDENCE_RATING

    #define IDMEF_CLASS_ID_CONFIDENCE_RATING 39

### IDMEF_CLASS_ID_CONFIDENCE

    #define IDMEF_CLASS_ID_CONFIDENCE 40

### IDMEF_CLASS_ID_ASSESSMENT

    #define IDMEF_CLASS_ID_ASSESSMENT 41

### IDMEF_CLASS_ID_TOOL_ALERT

    #define IDMEF_CLASS_ID_TOOL_ALERT 42

### IDMEF_CLASS_ID_CORRELATION_ALERT

    #define IDMEF_CLASS_ID_CORRELATION_ALERT 43

### IDMEF_CLASS_ID_OVERFLOW_ALERT

    #define IDMEF_CLASS_ID_OVERFLOW_ALERT 44

### IDMEF_CLASS_ID_ALERT_TYPE

    #define IDMEF_CLASS_ID_ALERT_TYPE 45

### IDMEF_CLASS_ID_ALERT

    #define IDMEF_CLASS_ID_ALERT 46

### IDMEF_CLASS_ID_HEARTBEAT

    #define IDMEF_CLASS_ID_HEARTBEAT 47

### IDMEF_CLASS_ID_MESSAGE_TYPE

    #define IDMEF_CLASS_ID_MESSAGE_TYPE 48

### IDMEF_CLASS_ID_MESSAGE

    #define IDMEF_CLASS_ID_MESSAGE 49