idmef-tree-wrap: libprelude Reference Manual

## idmef-tree-wrap idmef-tree-wrap — Generating events using the low level IDMEF API |

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

The IDMEF API is used by a sensor in order to generate events. IDMEF is an alert description format allowing almost any alert information to fit within an IDMEF alert, independantly of the type of analyzer used.

Here is real world example taken from the Snort Prelude sensors. The top level IDMEF object is always of type idmef_message_t. You should refer to the IDMEF draft, or to the Prelude API documentation in order to get a complete listing of theses objects, or a description of what information an object may carry.

    void snort_alert_prelude(Packet *p, char *msg, void *data, Event *event)
    {
            int ret;
            idmef_time_t *time;
            idmef_alert_t *alert;
            prelude_string_t *str;
            idmef_message_t *idmef;
            idmef_classification_t *class;
            prelude_client_t *client = data;
            ret = idmef_message_new(&idmef);
            if ( ret < 0 )
                    return;
            ret = idmef_message_new_alert(idmef, &alert);
            if ( ret < 0 )
                    goto err;
            ret = idmef_alert_new_classification(alert, &class);
            if ( ret < 0 )
                    goto err;
            ret = idmef_classification_new_text(class, &str);
            if ( ret < 0 )
                    goto err;
            prelude_string_set_ref(str, msg);
            ret = event_to_impact(event, alert);
            if ( ret < 0 )
                    goto err;
            ret = event_to_reference(event, class);
            if ( ret < 0 )
                    goto err;
            ret = event_to_source_target(p, alert);
            if ( ret < 0 )
                    goto err;
            ret = packet_to_data(p, event, alert);
            if ( ret < 0 )
                    goto err;
            ret = idmef_alert_new_detect_time(alert, &time);
            if ( ret < 0 )
                    goto err;
            idmef_time_set_from_timeval(time, &p->pkth->ts);
            ret = idmef_time_new_from_gettimeofday(&time);
            if ( ret < 0 )
                    goto err;
            idmef_alert_set_create_time(alert, time);
            idmef_alert_set_analyzer(alert, idmef_analyzer_ref(prelude_client_get_analyzer(client)), 0);
            prelude_client_send_idmef(client, idmef);
     err:
            idmef_message_destroy(idmef);
    	prelude_perror(ret, "Unable to create IDMEF alert");
    }

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

## See Also

idmef_path_t for the high level IDMEF API.