libpff.h(3) Library to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format. PFF is used in PAB (Personal Address Book), PST (Personal Storage Table) and OST (Offline Storage Table) files.

LIBRARY

Lb libpff

SYNOPSIS

In libpff.h

Support functions Ft const char * Fn libpff_get_version void Ft int Fn libpff_get_access_flags_read Ft int Fn libpff_get_codepage int *codepage, libpff_error_t **error Ft int Fn libpff_set_codepage int codepage, libpff_error_t **error Ft int Fn libpff_check_file_signature const char *filename, libpff_error_t **error

Available when compiled with wide character string support: Ft int Fn libpff_check_file_signature_wide const wchar_t *filename, libpff_error_t **error

Available when compiled with libbfio support: Ft int Fn libpff_check_file_signature_file_io_handle libbfio_handle_t *bfio_handle, libpff_error_t **error

Notify functions Ft void Fn libpff_notify_set_verbose int verbose Ft int Fn libpff_notify_set_stream FILE *stream, libpff_error_t **error Ft int Fn libpff_notify_stream_open const char *filename, libpff_error_t **error Ft int Fn libpff_notify_stream_close libpff_error_t **error

Error functions Ft void Fn libpff_error_free libpff_error_t **error Ft int Fn libpff_error_fprint libpff_error_t *error, FILE *stream Ft int Fn libpff_error_sprint libpff_error_t *error, char *string, size_t size Ft int Fn libpff_error_backtrace_fprint libpff_error_t *error, FILE *stream Ft int Fn libpff_error_backtrace_sprint libpff_error_t *error, char *string, size_t size

File functions Ft int Fn libpff_file_initialize libpff_file_t **file, libpff_error_t **error Ft int Fn libpff_file_free libpff_file_t **file, libpff_error_t **error Ft int Fn libpff_file_signal_abort libpff_file_t *file, libpff_error_t **error Ft int Fn libpff_file_open libpff_file_t *file, const char *filename, int flags, libpff_error_t **error Ft int Fn libpff_file_close libpff_file_t *file, libpff_error_t **error Ft int Fn libpff_file_recover_items libpff_file_t *file, uint8_t recovery_flags, libpff_error_t **error Ft int Fn libpff_file_get_size libpff_file_t *file, size64_t *size, libpff_error_t **error Ft int Fn libpff_file_get_type libpff_file_t *file, uint8_t *type, libpff_error_t **error Ft int Fn libpff_file_get_encryption_type libpff_file_t *file, uint8_t *encryption_type, libpff_error_t **error Ft int Fn libpff_file_get_ascii_codepage libpff_file_t *file, int *ascii_codepage, libpff_error_t **error Ft int Fn libpff_file_set_ascii_codepage libpff_file_t *file, int ascii_codepage, libpff_error_t **error Ft int Fn libpff_file_get_number_of_unallocated_blocks libpff_file_t *file, int unallocated_block_type, int *number_of_unallocated_blocks, libpff_error_t **error Ft int Fn libpff_file_get_unallocated_block libpff_file_t *file, int unallocated_block_type, int unallocated_block_index, off64_t *offset, size64_t *size, libpff_error_t **error Ft int Fn libpff_file_get_root_item libpff_file_t *file, libpff_item_t **root_item, libpff_error_t **error Ft int Fn libpff_file_get_message_store libpff_file_t *file, libpff_item_t **message_store, libpff_error_t **error Ft int Fn libpff_file_get_root_folder libpff_file_t *file, libpff_item_t **root_folder, libpff_error_t **error Ft int Fn libpff_file_get_item_by_identifier libpff_file_t *file, uint32_t item_identifier, libpff_item_t **item, libpff_error_t **error Ft int Fn libpff_file_get_number_of_orphan_items libpff_file_t *file, int *number_of_orphan_items, libpff_error_t **error Ft int Fn libpff_file_get_orphan_item libpff_file_t *file, int orphan_item_index, libpff_item_t **orphan_item, libpff_error_t **error Ft int Fn libpff_file_get_number_of_recovered_items libpff_file_t *file, int *number_of_recovered_items, libpff_error_t **error Ft int Fn libpff_file_get_recovered_item libpff_file_t *file, int recovered_item_index, libpff_item_t **recovered_item, libpff_error_t **error

Available when compiled with wide character string support: Ft int Fn libpff_file_open_wide libpff_file_t *file, const wchar_t *filename, int flags, libpff_error_t **error

Available when compiled with libbfio support: Ft int Fn libpff_file_open_file_io_handle libpff_file_t *file, libbfio_handle_t *file_io_handle, int flags, libpff_error_t **error

Name to id map entry functions Ft int Fn libpff_name_to_id_map_entry_get_type libpff_name_to_id_map_entry_t *name_to_id_map_entry, uint8_t *entry_type, libpff_error_t **error Ft int Fn libpff_name_to_id_map_entry_get_number libpff_name_to_id_map_entry_t *name_to_id_map_entry, uint32_t *number, libpff_error_t **error Ft int Fn libpff_name_to_id_map_entry_get_utf8_string_size libpff_name_to_id_map_entry_t *name_to_id_map_entry, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_name_to_id_map_entry_get_utf8_string libpff_name_to_id_map_entry_t *name_to_id_map_entry, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_name_to_id_map_entry_get_utf16_string_size libpff_name_to_id_map_entry_t *name_to_id_map_entry, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_name_to_id_map_entry_get_utf16_string libpff_name_to_id_map_entry_t *name_to_id_map_entry, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_name_to_id_map_entry_get_guid libpff_name_to_id_map_entry_t *name_to_id_map_entry, uint8_t *guid, size_t size, libpff_error_t **error

Item functions Ft int Fn libpff_item_clone libpff_item_t **destination_item, libpff_item_t *source_item, libpff_error_t **error Ft int Fn libpff_item_free libpff_item_t **item, libpff_error_t **error Ft int Fn libpff_item_get_identifier libpff_item_t *item, uint32_t *identifier, libpff_error_t **error Ft int Fn libpff_item_get_number_of_sets libpff_item_t *item, uint32_t *number_of_sets, libpff_error_t **error Ft int Fn libpff_item_get_number_of_entries libpff_item_t *item, uint32_t *number_of_entries, libpff_error_t **error Ft int Fn libpff_item_get_entry_type libpff_item_t *item, int set_index, int entry_index, uint32_t *entry_type, uint32_t *value_type, libpff_name_to_id_map_entry_t **name_to_id_map_entry, libpff_error_t **error Ft int Fn libpff_item_get_value_type libpff_item_t *item, int set_index, uint32_t entry_type, uint32_t *value_type, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value libpff_item_t *item, int set_index, uint32_t entry_type, uint32_t *value_type, uint8_t **value_data, size_t *value_data_size, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_by_utf8_name libpff_item_t *item, int set_index, uint8_t* utf8_entry_name, size_t utf8_entry_name_size, uint32_t *value_type, uint8_t **value_data, size_t *value_data_size, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_by_utf16_name libpff_item_t *item, int set_index, uint16_t* utf16_entry_name, size_t utf16_entry_name_size, uint32_t *value_type, uint8_t **value_data, size_t *value_data_size, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_boolean libpff_item_t *item, int set_index, uint32_t entry_type, uint8_t *entry_value, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_16bit libpff_item_t *item, int set_index, uint32_t entry_type, uint16_t *entry_value, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_32bit libpff_item_t *item, int set_index, uint32_t entry_type, uint32_t *entry_value, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_64bit libpff_item_t *item, int set_index, uint32_t entry_type, uint64_t *entry_value, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_filetime libpff_item_t *item, int set_index, uint32_t entry_type, uint64_t *entry_value, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_size libpff_item_t *item, int set_index, uint32_t entry_type, size_t *entry_value, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_floating_point libpff_item_t *item, int set_index, uint32_t entry_type, double *entry_value, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_utf8_string_size libpff_item_t *item, int set_index, uint32_t entry_type, size_t *utf8_string_size, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_utf8_string libpff_item_t *item, int set_index, uint32_t entry_type, uint8_t *utf8_string, size_t utf8_string_size, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_utf16_string_size libpff_item_t *item, int set_index, uint32_t entry_type, size_t *utf16_string_size, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_utf16_string libpff_item_t *item, int set_index, uint32_t entry_type, uint8_t *utf16_string, size_t utf16_string_size, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_binary_data_size libpff_item_t *item, int set_index, uint32_t entry_type, size_t *size, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_binary_data libpff_item_t *item, int set_index, uint32_t entry_type, uint8_t *binary_data, size_t size, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_value_guid libpff_item_t *item, int set_index, uint32_t entry_type, uint8_t *guid, size_t size, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_entry_multi_value libpff_item_t *item, int set_index, uint32_t entry_type, libpff_multi_value_t **multi_value, uint8_t flags, libpff_error_t **error Ft int Fn libpff_item_get_type libpff_item_t *item, uint8_t *item_type, libpff_error_t **error Ft int Fn libpff_item_get_number_of_sub_items libpff_item_t *item, int *number_of_sub_items, libpff_error_t **error Ft int Fn libpff_item_get_sub_item libpff_item_t *item, int sub_item_index, libpff_item_t **sub_item, libpff_error_t **error Ft int Fn libpff_item_get_sub_item_by_identifier libpff_item_t *item, uint32_t sub_item_identifier, libpff_item_t **sub_item, libpff_error_t **error Ft int Fn libpff_item_get_utf8_display_name_size libpff_item_t *item, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf8_display_name libpff_item_t *item, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf16_display_name_size libpff_item_t *item, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf16_display_name libpff_item_t *item, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf8_address_type_size libpff_item_t *item, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf8_address_type libpff_item_t *item, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf16_address_type_size libpff_item_t *item, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf16_address_type libpff_item_t *item, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf8_email_address_size libpff_item_t *item, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf8_email_address libpff_item_t *item, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf16_email_address_size libpff_item_t *item, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_item_get_utf16_email_address libpff_item_t *item, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error

Multi value functions Ft int Fn libpff_multi_value_free libpff_multi_value_t **multi_value, libpff_error_t **error Ft int Fn libpff_multi_value_get_number_of_values libpff_multi_value_t *multi_value, int *number_of_values, libpff_error_t **error Ft int Fn libpff_multi_value_get_entry_value libpff_multi_value_t *multi_value, int value_index, uint32_t *value_type, uint8_t **value_data, size_t *value_data_size, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_32bit libpff_multi_value_t *multi_value, int value_index, uint32_t *value, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_64bit libpff_multi_value_t *multi_value, int value_index, uint64_t *value, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_filetime libpff_multi_value_t *multi_value, int value_index, uint64_t *filetime, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_utf8_string_size libpff_multi_value_t *multi_value, int value_index, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_utf8_string libpff_multi_value_t *multi_value, int value_index, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_utf16_string_size libpff_multi_value_t *multi_value, int value_index, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_utf16_string libpff_multi_value_t *multi_value, int value_index, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_binary_data_size libpff_multi_value_t *multi_value, int value_index, size_t *size, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_binary_data libpff_multi_value_t *multi_value, int value_index, uint8_t *binary_data, size_t size, libpff_error_t **error Ft int Fn libpff_multi_value_get_value_guid libpff_multi_value_t *multi_value, int value_index, uint8_t *guid, size_t size, libpff_error_t **error

Folder functions Ft int Fn libpff_folder_get_utf8_name_size libpff_item_t *folder, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_folder_get_utf8_name libpff_item_t *folder, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_folder_get_utf16_name_size libpff_item_t *folder, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_folder_get_utf16_name libpff_item_t *folder, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_folder_get_type libpff_item_t *folder, uint8_t *type, libpff_error_t **error Ft int Fn libpff_folder_get_number_of_sub_folders libpff_item_t *folder, int *number_of_sub_folders, libpff_error_t **error Ft int Fn libpff_folder_get_sub_folder libpff_item_t *folder, int sub_folder_index, libpff_item_t **sub_folder, libpff_error_t **error Ft int Fn libpff_folder_get_sub_folder_by_utf8_name libpff_item_t *folder, uint8_t *utf8_sub_folder_name, size_t utf8_sub_folder_name_size, libpff_item_t **sub_folder, libpff_error_t **error Ft int Fn libpff_folder_get_sub_folder_by_utf16_name libpff_item_t *folder, uint16_t *utf16_sub_folder_name, size_t utf16_sub_folder_name_size, libpff_item_t **sub_folder, libpff_error_t **error Ft int Fn libpff_folder_get_sub_folders libpff_item_t *folder, libpff_item_t **sub_folders, libpff_error_t **error Ft int Fn libpff_folder_get_number_of_sub_messages libpff_item_t *folder, int *number_of_sub_messages, libpff_error_t **error Ft int Fn libpff_folder_get_sub_message libpff_item_t *folder, int sub_message_index, libpff_item_t **sub_message, libpff_error_t **error Fn libpff_folder_get_sub_message_by_utf8_name libpff_item_t *folder, uint8_t *utf8_sub_message_name, size_t utf8_sub_message_name_size, libpff_item_t **sub_message, libpff_error_t **error Ft int Fn libpff_folder_get_sub_message_by_utf16_name libpff_item_t *folder, uint16_t *utf16_sub_message_name, size_t utf16_sub_message_name_size, libpff_item_t **sub_message, libpff_error_t **error Ft int Ft int Fn libpff_folder_get_sub_messages libpff_item_t *folder, libpff_item_t **sub_messages, libpff_error_t **error Ft int Fn libpff_folder_get_number_of_sub_associated_contents libpff_item_t *folder, int *number_of_sub_associated_contents, libpff_error_t **error Ft int Fn libpff_folder_get_sub_associated_content libpff_item_t *folder, int sub_associated_content_index, libpff_item_t **sub_associated_content, libpff_error_t **error Ft int Fn libpff_folder_get_sub_associated_contents libpff_item_t *folder, libpff_item_t **sub_associated_contents, libpff_error_t **error

Message store functions Ft int Fn libpff_message_store_get_valid_folder_mask libpff_item_t *message_store, uint32_t *valid_folder_mask, libpff_error_t **error Ft int Fn libpff_message_store_get_password_checksum libpff_item_t *message_store, uint32_t *password_checksum, libpff_error_t **error

Message functions Ft int Fn libpff_message_get_entry_value_utf8_string_size libpff_item_t *message, uint32_t entry_type, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_entry_value_utf8_string libpff_item_t *message, uint32_t entry_type, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_entry_value_utf16_string_size libpff_item_t *message, uint32_t entry_type, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_entry_value_utf16_string libpff_item_t *message, uint32_t entry_type, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_number_of_attachments libpff_item_t *message, int *number_of_attachments, libpff_error_t **error Ft int Fn libpff_message_get_attachment libpff_item_t *message, int attachment_index, libpff_item_t **attachment, libpff_error_t **error Ft int Fn libpff_message_get_attachments libpff_item_t *message, libpff_item_t **attachments, libpff_error_t **error Ft int Fn libpff_message_get_recipients libpff_item_t *message, libpff_item_t **recipients, libpff_error_t **error Ft int Fn libpff_message_get_utf8_class_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_class libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_subject_size *subject_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_subject libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_conversation_topic_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_conversation_topic libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_conversation_index_size libpff_item_t *message, size_t *size, libpff_error_t **error Ft int Fn libpff_message_get_conversation_index libpff_item_t *message, uint8_t *conversation_index, size_t size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_sender_name_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_sender_name libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_sender_name_size libpff_item_t *message, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_sender_name libpff_item_t *message, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_sender_email_address_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_sender_email_address libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_sender_email_address_size libpff_item_t *message, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_sender_email_address libpff_item_t *message, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_sent_representing_name_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_sent_representing_name libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_sent_representing_name_size libpff_item_t *message, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_sent_representing_name libpff_item_t *message, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_sent_representing_email_address_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_sent_representing_email_address libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_sent_representing_email_address_size libpff_item_t *message, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_sent_representing_email_address libpff_item_t *message, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_received_by_name_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_received_by_name libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_received_by_name_size libpff_item_t *message, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_received_by_name libpff_item_t *message, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_received_by_email_address_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_received_by_email_address libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_received_by_email_address_size libpff_item_t *message, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_received_by_email_address libpff_item_t *message, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_importance libpff_item_t *message, uint32_t *importance, libpff_error_t **error Ft int Fn libpff_message_get_priority libpff_item_t *message, uint32_t *priority, libpff_error_t **error Ft int Fn libpff_message_get_sensitivity libpff_item_t *message, uint32_t *sensitivity, libpff_error_t **error Ft int Fn libpff_message_get_flags libpff_item_t *message, uint32_t *flags, libpff_error_t **error Ft int Fn libpff_message_get_size libpff_item_t *message, uint32_t *size, libpff_error_t **error Ft int Fn libpff_message_get_client_submit_time libpff_item_t *message, uint64_t *client_submit_time, libpff_error_t **error Ft int Fn libpff_message_get_delivery_time libpff_item_t *message, uint64_t *delivery_time, libpff_error_t **error Ft int Fn libpff_message_get_creation_time libpff_item_t *message, uint64_t *creation_time, libpff_error_t **error Ft int Fn libpff_message_get_modification_time libpff_item_t *message, uint64_t *modification_time, libpff_error_t **error Ft int Fn libpff_message_get_utf8_transport_headers_size libpff_item_t *message, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf8_transport_headers libpff_item_t *message, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_transport_headers_size libpff_item_t *message, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_utf16_transport_headers libpff_item_t *message, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_message_get_plain_text_body_size libpff_item_t *message, size_t *size, libpff_error_t **error Ft int Fn libpff_message_get_plain_text_body libpff_item_t *message, uint8_t *plain_text_body, size_t size, libpff_error_t **error Ft int Fn libpff_message_get_rtf_body_size libpff_item_t *message, size_t *size, libpff_error_t **error Ft int Fn libpff_message_get_body libpff_item_t *message, uint8_t *rtf_body, size_t size, libpff_error_t **error Ft int Fn libpff_message_get_html_body_size libpff_item_t *message, size_t *size, libpff_error_t **error Ft int Fn libpff_message_get_html_body libpff_item_t *message, uint8_t *html_body, size_t size, libpff_error_t **error

Appointment functions Ft int Fn libpff_appointment_get_utf8_location_size libpff_item_t *appointment, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf8_location libpff_item_t *appointment, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf16_location_size libpff_item_t *appointment, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf16_location libpff_item_t *appointment, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_appointment_start_time libpff_item_t *appointment, uint64_t *start_time, libpff_error_t **error Ft int Fn libpff_appointment_end_time libpff_item_t *appointment, uint64_t *end_time, libpff_error_t **error Ft int Fn libpff_appointment_get_utf8_recurring_pattern_size libpff_item_t *appointment, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf8_recurring_pattern libpff_item_t *appointment, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf16_recurring_pattern_size libpff_item_t *appointment, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf16_recurring_pattern libpff_item_t *appointment, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf8_timezone_description_size libpff_item_t *appointment, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf8_timezone_description libpff_item_t *appointment, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf16_timezone_description_size libpff_item_t *appointment, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_appointment_get_utf16_timezone_description libpff_item_t *appointment, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_appointment_first_effective_time libpff_item_t *message, uint64_t *first_effective_time, libpff_error_t **error Ft int Fn libpff_appointment_last_effective_time libpff_item_t *message, uint64_t *last_effective_time, libpff_error_t **error

Address functions Ft int Fn libpff_address_get_utf8_file_under_size libpff_item_t *address, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_address_get_utf8_file_under libpff_item_t *address, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_address_get_utf16_file_under_size libpff_item_t *address, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_address_get_utf16_file_under libpff_item_t *address, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error

Contact functions Ft int Fn libpff_contact_get_utf8_file_as_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_file_as libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_file_as_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_file_as libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_postal_address_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_postal_address libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_postal_address_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_postal_address libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_company_name_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_company_name libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_company_name_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_company_name libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_department_name_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_department_name libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_department_name_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_department_name libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_office_location_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_office_location libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_office_location_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_office_location libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_callback_phone_number_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_callback_phone_number libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_callback_phone_number_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_callback_phone_number libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_primary_phone_number_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_primary_phone_number libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_primary_phone_number_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_primary_phone_number libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_home_phone_number_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_home_phone_number libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_home_phone_number_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_home_phone_number libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_business_phone_number_1_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_business_phone_number_1 libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_business_phone_number_1_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_business_phone_number_1 libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_business_phone_number_2_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_business_phone_number_2 libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_business_phone_number_2_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_business_phone_number_2 libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_mobile_phone_number_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_mobile_phone_number libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_mobile_phone_number_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_mobile_phone_number libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_business_fax_number_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_business_fax_number libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_business_fax_number_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_business_fax_number libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_country_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_country libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_country_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_country libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_locality_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_locality libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_locality_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_locality libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_title_size libpff_item_t *contact, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf8_title libpff_item_t *contact, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_title_size libpff_item_t *contact, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_contact_get_utf16_title libpff_item_t *contact, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error

E-mail functions Ft int Fn libpff_email_get_utf8_filename_size libpff_item_t *email, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_email_get_utf8_filename libpff_item_t *email, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_email_get_utf16_filename_size libpff_item_t *email, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_email_get_utf16_filename libpff_item_t *email, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error

Attachment functions Ft int Fn libpff_attachment_get_utf8_short_filename_size libpff_item_t *attachment, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_attachment_get_utf8_short_filename libpff_item_t *attachment, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_attachment_get_utf16_short_filename_size libpff_item_t *attachment, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_attachment_get_utf16_short_filename libpff_item_t *attachment, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_attachment_get_utf8_long_filename_size libpff_item_t *attachment, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_attachment_get_utf8_long_filename libpff_item_t *attachment, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_attachment_get_utf16_long_filename_size libpff_item_t *attachment, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_attachment_get_utf16_long_filename libpff_item_t *attachment, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_attachment_get_data_size libpff_item_t *attachment, size64_t *size, libpff_error_t **error Ft ssize_t Fn libpff_attachment_data_read_buffer libpff_item_t *attachment, uint8_t *buffer, size_t buffer_size, libpff_error_t **error Ft off64_ Fn libpff_attachment_data_seek_offset libpff_item_t *attachment, off64_t offset, int whence, libpff_error_t **error Ft int Fn libpff_attachment_get_item libpff_item_t *attachment, libpff_item_t **attached_item, libpff_error_t **error

Available when compiled with libbfio support: Ft int Fn libpff_attachment_get_data_file_io_handle libpff_item_t *attachment, libbfio_handle_t **file_io_handle, libpff_error_t **error

Recipients functions Ft int Fn libpff_recipients_get_utf8_display_name_size libpff_item_t *recipients, int recipient_index, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf8_display_name libpff_item_t *recipients, int recipient_index, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf16_display_name_size libpff_item_t *recipients, int recipient_index, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf16_display_name libpff_item_t *recipients, int recipient_index, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf8_address_type_size libpff_item_t *recipients, int recipient_index, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf8_address_type libpff_item_t *recipients, int recipient_index, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf16_address_type_size libpff_item_t *recipients, int recipient_index, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf16_address_type libpff_item_t *recipients, int recipient_index, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf8_email_address_size libpff_item_t *recipients, int recipient_index, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf8_email_address libpff_item_t *recipients, int recipient_index, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf16_email_address_size libpff_item_t *recipients, int recipient_index, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf16_email_address libpff_item_t *recipients, int recipient_index, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf8_recipient_display_name_size libpff_item_t *recipients, int recipient_index, size_t *utf8_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf8_recipient_display_name libpff_item_t *recipients, int recipient_index, uint8_t *utf8_string, size_t utf8_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf16_recipient_display_name_size libpff_item_t *recipients, int recipient_index, size_t *utf16_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_utf16_recipient_display_name libpff_item_t *recipients, int recipient_index, uint16_t *utf16_string, size_t utf16_string_size, libpff_error_t **error Ft int Fn libpff_recipients_get_type libpff_item_t *recipients, int recipient_index, uint32_t *type, libpff_error_t **error

DESCRIPTION

The Fn libpff_get_version function is used to retrieve the library version.

RETURN VALUES

Most of the functions return NULL or -1 on error, dependent on the return type. For the actual return values refer to libpff.h

ENVIRONMENT

None

FILES

None

NOTES

libpff mainly uses UTF-8 encoded strings except for filenames, but provides several UTF-16 functions.

ASCII strings in a PFF file contain an extended ASCII string using the codepage of the system it was created on. The function libpff_set_ascii_codepage
 allows to set the required codepage for reading and writing. The default codepage is ASCII and replaces all extended characters to the Unicode replacement character (U+fffd) when reading and the ASCII substitude character (0x1a) when writing.

libpff allows to be compiled with wide character support. To compile libpff with wide character support use ./configure --enable-wide-character-type=yes or pass the definition _UNICODE
 or UNICODE
 to the compiler (i.e. in case of Microsoft Visual Studio (MSVS) C++).

To have other code to determine if libpff was compiled with wide character support it defines LIBPFF_HAVE_WIDE_CHARACTER_TYPE
 in libpff/features.h.

libpff allows to be compiled with chained IO support using libbfio. libpff will automatically detect if a compatible version of libbfio is available.

To have other code to determine if libpff was compiled with libbfio support it defines LIBPFF_HAVE_BFIO
 in libpff/features.h.

BUGS

Please report bugs of any kind to <[email protected]> or on the project website: http://code.google.com/p/libpff/

AUTHOR

These man pages were written by Joachim Metz.

COPYRIGHT

Copyright 2008-2012 Joachim Metz <[email protected]>. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.