#include<liblnk.h>
Support functions
constchar*liblnk_get_version(void);
intliblnk_get_access_flags_read(void);
intliblnk_get_codepage(int*codepage, liblnk_error_t**error);
intliblnk_set_codepage(intcodepage, liblnk_error_t**error);
intliblnk_check_file_signature(constchar*filename, liblnk_error_t**error);
Available when compiled with wide character string support:
intliblnk_check_file_signature_wide(constwchar_t*filename, liblnk_error_t**error);
Available when compiled with libbfio support:
intliblnk_check_file_signature_file_io_handle(libbfio_handle_t*file_io_handle, liblnk_error_t**error);
Notify functions
voidliblnk_notify_set_verbose(intverbose);
intliblnk_notify_set_stream(FILE*stream, liblnk_error_t**error);
intliblnk_notify_stream_open(constchar*filename, liblnk_error_t**error);
intliblnk_notify_stream_close(liblnk_error_t**error);
Error functions
voidliblnk_error_free(liblnk_error_t**error);
intliblnk_error_fprint(liblnk_error_t*error, FILE*stream);
intliblnk_error_sprint(liblnk_error_t*error, char*string, size_tsize);
intliblnk_error_backtrace_fprint(liblnk_error_t*error, FILE*stream);
intliblnk_error_backtrace_sprint(liblnk_error_t*error, char*string, size_tsize);
File functions
intliblnk_file_initialize(liblnk_file_t**file, liblnk_error_t**error);
intliblnk_file_free(liblnk_file_t**file, liblnk_error_t**error);
intliblnk_file_signal_abort(liblnk_file_t*file, liblnk_error_t**error);
intliblnk_file_open(liblnk_file_t*file, constchar*filename, intaccess_flags, liblnk_error_t**error);
intliblnk_file_close(liblnk_file_t*file, liblnk_error_t**error);
intliblnk_file_get_ascii_codepage(liblnk_file_t*file, int*ascii_codepage, liblnk_error_t**error);
intliblnk_file_set_ascii_codepage(liblnk_file_t*file, intascii_codepage, liblnk_error_t**error);
intliblnk_file_is_corrupted(liblnk_file_t*file, liblnk_error_t**error);
Available when compiled with wide character string support:
intliblnk_file_open_wide(liblnk_file_t*file, constwchar_t*filename, intaccess_flags,
liblnk_error_t**error);
Available when compiled with libbfio support:
intliblnk_file_open_file_io_handle(liblnk_file_t*file, libbfio_handle_t*file_io_handle, intaccess_flags,
liblnk_error_t**error);
Link information functions
intliblnk_file_get_data_flags(liblnk_file_t*file, uint32_t*data_flags, liblnk_error_t**error);
intliblnk_file_get_data_size(liblnk_file_t*file, size64_t*data_size, liblnk_error_t**error);
intliblnk_file_link_refers_to_file(liblnk_file_t*file, liblnk_error_t**error);
intliblnk_file_get_file_creation_time(liblnk_file_t*file, uint64_t*filetime, liblnk_error_t**error);
intliblnk_file_get_file_modification_time(liblnk_file_t*file, uint64_t*filetime, liblnk_error_t**error);
intliblnk_file_get_file_access_time(liblnk_file_t*file, uint64_t*filetime, liblnk_error_t**error);
intliblnk_file_get_file_size(liblnk_file_t*file, uint32_t*file_size, liblnk_error_t**error);
intliblnk_file_get_icon_index(liblnk_file_t*file, uint32_t*icon_index, liblnk_error_t**error);
intliblnk_file_get_show_window_value(liblnk_file_t*file, uint32_t*show_window_value,
liblnk_error_t**error);
intliblnk_file_get_hot_key_value(liblnk_file_t*file, uint16_t*hot_key_value, liblnk_error_t**error);
intliblnk_file_get_file_attribute_flags(liblnk_file_t*file, uint32_t*file_attribute_flags,
liblnk_error_t**error);
intliblnk_file_get_drive_type(liblnk_file_t*file, uint32_t*drive_type, liblnk_error_t**error);
intliblnk_file_get_drive_serial_number(liblnk_file_t*file, uint32_t*drive_serial_number,
liblnk_error_t**error);
intliblnk_file_get_utf8_volume_label_size(liblnk_file_t*file, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_volume_label(liblnk_file_t*file, uint8_t*utf8_string, size_tutf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_volume_label_size(liblnk_file_t*file, size_t*utf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_volume_label(liblnk_file_t*file, uint16_t*utf16_string, size_tutf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_local_path_size(liblnk_file_t*file, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_local_path(liblnk_file_t*file, uint8_t*utf8_string, size_tutf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_local_path_size(liblnk_file_t*file, size_t*utf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_local_path(liblnk_file_t*file, uint16_t*utf16_string, size_tutf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_network_path_size(liblnk_file_t*file, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_network_path(liblnk_file_t*file, uint8_t*utf8_string, size_tutf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_network_path_size(liblnk_file_t*file, size_t*utf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_network_path(liblnk_file_t*file, uint16_t*utf16_string, size_tutf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_description_size(liblnk_file_t*file, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_description(liblnk_file_t*file, uint8_t*utf8_string, size_tutf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_description_size(liblnk_file_t*file, size_t*utf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_description(liblnk_file_t*file, uint16_t*utf16_string, size_tutf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_relative_path_size(liblnk_file_t*file, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_relative_path(liblnk_file_t*file, uint8_t*utf8_string, size_tutf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_relative_path_size(liblnk_file_t*file, size_t*utf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_relative_path(liblnk_file_t*file, uint16_t*utf16_string,
size_tutf16_string_size, liblnk_error_t**error);
intliblnk_file_get_utf8_working_directory_size(liblnk_file_t*file, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_working_directory(liblnk_file_t*file, uint8_t*utf8_string,
size_tutf8_string_size, liblnk_error_t**error);
intliblnk_file_get_utf16_working_directory_size(liblnk_file_t*file, size_t*utf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_working_directory(liblnk_file_t*file, uint16_t*utf16_string,
size_tutf16_string_size, liblnk_error_t**error);
intliblnk_file_get_utf8_command_line_arguments_size(liblnk_file_t*file, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_command_line_arguments(liblnk_file_t*file, uint8_t*utf8_string,
size_tutf8_string_size, liblnk_error_t**error);
intliblnk_file_get_utf16_command_line_arguments_size(liblnk_file_t*file, size_t*utf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_command_line_arguments(liblnk_file_t*file, uint16_t*utf16_string,
size_tutf16_string_size, liblnk_error_t**error);
intliblnk_file_get_utf8_icon_location_size(liblnk_file_t*file, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf8_icon_location(liblnk_file_t*file, uint8_t*utf8_string, size_tutf8_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_icon_location_size(liblnk_file_t*file, size_t*utf16_string_size,
liblnk_error_t**error);
intliblnk_file_get_utf16_icon_location(liblnk_file_t*file, uint16_t*utf16_string,
size_tutf16_string_size, liblnk_error_t**error);
intliblnk_file_get_link_target_identifier_data_size(liblnk_file_t*file, size_t*data_size,
liblnk_error_t**error);
intliblnk_file_copy_link_target_identifier_data(liblnk_file_t*file, uint8_t*data, size_tdata_size,
liblnk_error_t**error);
Distributed link tracking data functions
intliblnk_file_has_distributed_link_tracking_data(liblnk_file_t*file, liblnk_error_t**error);
Extra data block functions
intliblnk_file_get_number_of_data_blocks(liblnk_file_t*file, int*number_of_data_blocks,
liblnk_error_t**error);
intliblnk_file_get_data_block_by_index(liblnk_file_t*file, intdata_block_index,
liblnk_data_block_t**data_block, liblnk_error_t**error);
Data block functions
intliblnk_data_block_free(liblnk_data_block_t**data_block, liblnk_error_t**error);
intliblnk_data_block_get_signature(liblnk_data_block_t*data_block, uint32_t*signature,
liblnk_error_t**error);
intliblnk_data_block_get_data_size(liblnk_data_block_t*data_block, size_t*data_size,
liblnk_error_t**error);
intliblnk_data_block_copy_data(liblnk_data_block_t*data_block, uint8_t*data, size_tdata_size,
liblnk_error_t**error);
Strings data block functions
intliblnk_strings_data_block_get_utf8_string_size(liblnk_data_block_t*data_block, size_t*utf8_string_size,
liblnk_error_t**error);
intliblnk_strings_data_block_get_utf8_string(liblnk_data_block_t*data_block, uint8_t*utf8_string,
size_tutf8_string_size, liblnk_error_t**error);
intliblnk_strings_data_block_get_utf16_string_size(liblnk_data_block_t*data_block,
size_t*utf16_string_size, liblnk_error_t**error);
intliblnk_strings_data_block_get_utf16_string(liblnk_data_block_t*data_block, uint16_t*utf16_string,
size_tutf16_string_size, liblnk_error_t**error);
intliblnk_strings_data_block_get_utf8_path_string_size(liblnk_data_block_t*data_block,
size_t*utf8_string_size, liblnk_error_t**error);
intliblnk_strings_data_block_get_utf8_path_string(liblnk_data_block_t*data_block, uint8_t*utf8_string,
size_tutf8_string_size, liblnk_error_t**error);
intliblnk_strings_data_block_get_utf16_path_string_size(liblnk_data_block_t*data_block,
size_t*utf16_string_size, liblnk_error_t**error);
intliblnk_strings_data_block_get_utf16_path_string(liblnk_data_block_t*data_block, uint16_t*utf16_string,
size_tutf16_string_size, liblnk_error_t**error);
Distributed link tracking data block functions
intliblnk_distributed_link_tracking_data_block_get_utf8_machine_identifier_size(liblnk_data_block*_tata_block,
size_t*utf8_string_size, liblnk_error_t**error);
intliblnk_distributed_link_tracking_data_block_get_utf8_machine_identifier(liblnk_data_block_t*data_block,
uint8_t*utf8_string, size_tutf8_string_size, liblnk_error_t**error);
intliblnk_distributed_link_tracking_data_block_get_utf16_machine_identifier_size(liblnk_data_bloc*kd_tta_block,
size_t*utf16_string_size, liblnk_error_t**error);
intliblnk_distributed_link_tracking_data_block_get_utf16_machine_identifier(liblnk_data_block_t*data_block,
uint16_t*utf16_string, size_tutf16_string_size, liblnk_error_t**error);
intliblnk_distributed_link_tracking_data_block_get_droid_volume_identifier(liblnk_data_block_t*data_block,
uint8_t*guid_data, size_tguid_data_size, liblnk_error_t**error);
intliblnk_distributed_link_tracking_data_block_get_droid_file_identifier(liblnk_data_block_t*data_block,
uint8_t*guid_data, size_tguid_data_size, liblnk_error_t**error);
intliblnk_distributed_link_tracking_data_block_get_birth_droid_volume_identifier(liblnk_data_bloc*kd_tta_block,
uint8_t*guid_data, size_tguid_data_size, liblnk_error_t**error);
intliblnk_distributed_link_tracking_data_block_get_birth_droid_file_identifier(liblnk_data_block_tdata_block,
uint8_t*guid_data, size_tguid_data_size, liblnk_error_t**error);