TODO: work in progress
Return values
Most of the API functions return 1 if successful or -1 on error.
The close function is an exception since it returns 0 if successful or -1 on error.
More details about the return values for each API function can be found in libexe.h
Examples
The following examples require the following headers to be included:
file structure
Allocate file structure
When calling the libexe_file_initialize function the file argument must refer to NULL to allocate and initialize a file structure.
The error argument is optional and can be NULL.
The function will return 1 if successful or -1 on error. On error an the library creates an error structure except if error is NULL e.g.
The error structure must be freed by calling the libexe_error_free function.
Free file structure
The function will return 1 if successful or -1 on error.
File is set to NULL.
The function will also close the file if it was opened.
Open file
libexe provides both narrow and wide character string functions for filenames.
The wide character equivalent of the open function is libexe_file_open_wide.
By default libexe will only enable wide character string support on Windows since other operating systems have build-in support for UTF-8 narrow character strings.
To compile with wide character support add --enable-wide-character-type=yes to configure, e.g.:
Or on Windows define WINAPI and either _UNICODE or UNICODE
When wide character string support is enabled LIBEXE_HAVE_WIDE_CHARACTER_TYPE is defined in <libexe/features.h>
Open file using a file-like object
TODO describe
libexe allows to be compiled with file-like object support using libbfio.
The libexe configure script will automatically detect if a compatible version of libbfio is available.
When libbfio is support is enabled LIBEXE_HAVE_BFIO is defined in <libexe/features.h>
Close file
Also see