Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
liblnk(3)		    Library Functions Manual		     liblnk(3)

NAME
       liblnk.h	-- Library to access the Windows Shortcut File (LNK) format

SYNOPSIS
       #include	<liblnk.h>

       Support functions

       const char *
       liblnk_get_version(void);

       int
       liblnk_get_access_flags_read(void);

       int
       liblnk_get_codepage(int *codepage, liblnk_error_t **error);

       int
       liblnk_set_codepage(int codepage, liblnk_error_t	**error);

       int
       liblnk_check_file_signature(const	    char	    *filename,
	   liblnk_error_t **error);

       Available when compiled with wide character string support:

       int
       liblnk_check_file_signature_wide(const	     wchar_t	    *filename,
	   liblnk_error_t **error);

       Available when compiled with libbfio support:

       int
       liblnk_check_file_signature_file_io_handle(libbfio_handl*ef_itle_io_handle,
	   liblnk_error_t **error);

       Notify functions

       void
       liblnk_notify_set_verbose(int verbose);

       int
       liblnk_notify_set_stream(FILE *stream, liblnk_error_t **error);

       int
       liblnk_notify_stream_open(const		   char		    *filename,
	   liblnk_error_t **error);

       int
       liblnk_notify_stream_close(liblnk_error_t **error);

       Error functions

       void
       liblnk_error_free(liblnk_error_t	**error);

       int
       liblnk_error_fprint(liblnk_error_t *error, FILE *stream);

       int
       liblnk_error_sprint(liblnk_error_t *error, char *string,	size_t size);

       int
       liblnk_error_backtrace_fprint(liblnk_error_t *error, FILE *stream);

       int
       liblnk_error_backtrace_sprint(liblnk_error_t   *error,	char  *string,
	   size_t size);

       File functions

       int
       liblnk_file_initialize(liblnk_file_t **file, liblnk_error_t **error);

       int
       liblnk_file_free(liblnk_file_t **file, liblnk_error_t **error);

       int
       liblnk_file_signal_abort(liblnk_file_t *file, liblnk_error_t **error);

       int
       liblnk_file_open(liblnk_file_t	 *file,	   const    char    *filename,
	   int access_flags, liblnk_error_t **error);

       int
       liblnk_file_close(liblnk_file_t *file, liblnk_error_t **error);

       int
       liblnk_file_get_ascii_codepage(liblnk_file_t			*file,
	   int *ascii_codepage,	liblnk_error_t **error);

       int
       liblnk_file_set_ascii_codepage(liblnk_file_t *file, int ascii_codepage,
	   liblnk_error_t **error);

       int
       liblnk_file_is_corrupted(liblnk_file_t *file, liblnk_error_t **error);

       Available when compiled with wide character string support:

       int
       liblnk_file_open_wide(liblnk_file_t  *file,  const  wchar_t  *filename,
	   int access_flags, liblnk_error_t **error);

       Available when compiled with libbfio support:

       int
       liblnk_file_open_file_io_handle(liblnk_file_t			*file,
	   libbfio_handle_t	 *file_io_handle,      int	 access_flags,
	   liblnk_error_t **error);

       Link information	functions

       int
       liblnk_file_get_data_flags(liblnk_file_t	 *file,	 uint32_t *data_flags,
	   liblnk_error_t **error);

       int
       liblnk_file_get_data_size(liblnk_file_t	*file,	size64_t   *data_size,
	   liblnk_error_t **error);

       int
       liblnk_file_link_refers_to_file(liblnk_file_t			*file,
	   liblnk_error_t **error);

       int
       liblnk_file_get_file_creation_time(liblnk_file_t			*file,
	   uint64_t *filetime, liblnk_error_t **error);

       int
       liblnk_file_get_file_modification_time(liblnk_file_t		*file,
	   uint64_t *filetime, liblnk_error_t **error);

       int
       liblnk_file_get_file_access_time(liblnk_file_t			*file,
	   uint64_t *filetime, liblnk_error_t **error);

       int
       liblnk_file_get_file_size(liblnk_file_t	 *file,	 uint32_t  *file_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_icon_index(liblnk_file_t	*file,	uint32_t  *icon_index,
	   liblnk_error_t **error);

       int
       liblnk_file_get_show_window_value(liblnk_file_t			*file,
	   uint32_t *show_window_value,	liblnk_error_t **error);

       int
       liblnk_file_get_hot_key_value(liblnk_file_t			*file,
	   uint16_t *hot_key_value, liblnk_error_t **error);

       int
       liblnk_file_get_file_attribute_flags(liblnk_file_t		*file,
	   uint32_t *file_attribute_flags, liblnk_error_t **error);

       int
       liblnk_file_get_drive_type(liblnk_file_t	*file,	uint32_t  *drive_type,
	   liblnk_error_t **error);

       int
       liblnk_file_get_drive_serial_number(liblnk_file_t		*file,
	   uint32_t *drive_serial_number, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_volume_label_size(liblnk_file_t		*file,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_volume_label(liblnk_file_t			*file,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf16_volume_label_size(liblnk_file_t		*file,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf16_volume_label(liblnk_file_t			*file,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf8_local_path_size(liblnk_file_t		*file,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_local_path(liblnk_file_t			*file,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf16_local_path_size(liblnk_file_t		*file,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf16_local_path(liblnk_file_t			*file,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf8_network_path_size(liblnk_file_t		*file,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_network_path(liblnk_file_t			*file,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf16_network_path_size(liblnk_file_t		*file,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf16_network_path(liblnk_file_t			*file,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf8_description_size(liblnk_file_t		*file,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_description(liblnk_file_t			*file,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf16_description_size(liblnk_file_t		*file,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf16_description(liblnk_file_t			*file,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf8_relative_path_size(liblnk_file_t		*file,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_relative_path(liblnk_file_t			*file,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf16_relative_path_size(liblnk_file_t		*file,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf16_relative_path(liblnk_file_t		*file,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf8_working_directory_size(liblnk_file_t	*file,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_working_directory(liblnk_file_t		*file,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf16_working_directory_size(liblnk_file_t	*file,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf16_working_directory(liblnk_file_t		*file,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf8_command_line_arguments_size(liblnk_file_t	*file,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_command_line_arguments(liblnk_file_t	*file,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf16_command_line_arguments_size(liblnk_file_t	*file,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf16_command_line_arguments(liblnk_file_t	*file,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf8_icon_location_size(liblnk_file_t		*file,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf8_icon_location(liblnk_file_t			*file,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_utf16_icon_location_size(liblnk_file_t		*file,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_file_get_utf16_icon_location(liblnk_file_t		*file,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_file_get_link_target_identifier_data_size(liblnk_file_t	*file,
	   size_t *data_size, liblnk_error_t **error);

       int
       liblnk_file_copy_link_target_identifier_data(liblnk_file_t	*file,
	   uint8_t *data, size_t data_size, liblnk_error_t **error);

       Distributed link	tracking data functions

       int
       liblnk_file_has_distributed_link_tracking_data(liblnk_file_t	*file,
	   liblnk_error_t **error);

       Extra data block	functions

       int
       liblnk_file_get_number_of_data_blocks(liblnk_file_t		*file,
	   int *number_of_data_blocks, liblnk_error_t **error);

       int
       liblnk_file_get_data_block_by_index(liblnk_file_t		*file,
	   int	   data_block_index,	 liblnk_data_block_t	 **data_block,
	   liblnk_error_t **error);

       Data block functions

       int
       liblnk_data_block_free(liblnk_data_block_t		 **data_block,
	   liblnk_error_t **error);

       int
       liblnk_data_block_get_signature(liblnk_data_block_t	  *data_block,
	   uint32_t *signature,	liblnk_error_t **error);

       int
       liblnk_data_block_get_data_size(liblnk_data_block_t	  *data_block,
	   size_t *data_size, liblnk_error_t **error);

       int
       liblnk_data_block_copy_data(liblnk_data_block_t		  *data_block,
	   uint8_t *data, size_t data_size, liblnk_error_t **error);

       Strings data block functions

       int
       liblnk_strings_data_block_get_utf8_string_size(liblnk_data_b*ldoactka__tblock,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_strings_data_block_get_utf8_string(liblnk_data_block_*tdata_block,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_strings_data_block_get_utf16_string_size(liblnk_data_*bdlaotcak__btlock,
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_strings_data_block_get_utf16_string(liblnk_data_block*_dtata_block,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_strings_data_block_get_utf8_path_string_size(liblnk_d*adtaat_ab_lbolcokc_kt,
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_strings_data_block_get_utf8_path_string(liblnk_data_b*ldoactka__tblock,
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_strings_data_block_get_utf16_path_string_size(liblnk_*ddaattaa__bblloocckk_,t
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_strings_data_block_get_utf16_path_string(liblnk_data_*bdlaotcak__btlock,
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       Distributed link	tracking data block functions

       int
       liblnk_distributed_link_tracking_data_block_get_utf8_machine*_diata_tblock,_size(liblnk_data_block_t
	   size_t *utf8_string_size, liblnk_error_t **error);

       int
       liblnk_distributed_link_tracking_data_block_get_utf8_machine*_diata_tblock,(liblnk_data_block_t
	   uint8_t	  *utf8_string,	       size_t	     utf8_string_size,
	   liblnk_error_t **error);

       int
       liblnk_distributed_link_tracking_data_block_get_utf16_machin*d_aita_nblock,r_size(liblnk_data_block_t
	   size_t *utf16_string_size, liblnk_error_t **error);

       int
       liblnk_distributed_link_tracking_data_block_get_utf16_machin*d_aita_nblock,r(liblnk_data_block_t
	   uint16_t	  *utf16_string,       size_t	    utf16_string_size,
	   liblnk_error_t **error);

       int
       liblnk_distributed_link_tracking_data_block_get_droid_volume*_diata_tblock,(liblnk_data_block_t
	   uint8_t *guid_data, size_t guid_data_size, liblnk_error_t **error);

       int
       liblnk_distributed_link_tracking_data_block_get_droid_file_i*data_fblockl,iblnk_data_block_t
	   uint8_t *guid_data, size_t guid_data_size, liblnk_error_t **error);

       int
       liblnk_distributed_link_tracking_data_block_get_birth_droid_*vdata_eb_liock,tifier(liblnk_data_block_t
	   uint8_t *guid_data, size_t guid_data_size, liblnk_error_t **error);

       int
       liblnk_distributed_link_tracking_data_block_get_birth_droid_*fdata__iblock,fier(liblnk_data_block_t
	   uint8_t *guid_data, size_t guid_data_size, liblnk_error_t **error);

DESCRIPTION
       The liblnk_get_version()	function is used to retrieve the library  ver-
       sion.

RETURN VALUES
       Most  of	the functions return NULL or -1	on error, dependent on the re-
       turn type.  For the actual return values	see "liblnk.h".

ENVIRONMENT
       None

FILES
       None

NOTES
       liblnk can be compiled with wide	character support (wchar_t).

       To  compile  liblnk  with  wide	character  support  use:   ./configure
       --enable-wide-character-type=yes
	or define: _UNICODE
	or UNICODE
	during compilation.

       LIBLNK_WIDE_CHARACTER_TYPE
	in  liblnk/features.h  can be used to determine	if liblnk was compiled
       with wide character support.

BUGS
       Please  report  bugs  of	 any  kind  on	the  project  issue   tracker:
       https://github.com/libyal/liblnk/issues

AUTHOR
       These man pages are generated from "liblnk.h".

COPYRIGHT
       Copyright (C) 2009-2024,	Joachim	Metz <joachim.metz@gmail.com>.

       This is free software; see the source for copying conditions.  There is
       NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
       PURPOSE.

SEE ALSO
       the liblnk.h include file

liblnk			       October 28, 2023			     liblnk(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=liblnk&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>

home | help