#include <libfwnt.h>
Support functions
const char *
libfwnt_get_version
(void);
Notify functions
void
libfwnt_notify_set_verbose
(int
verbose);
int
libfwnt_notify_set_stream
(FILE
*stream, libfwnt_error_t
**error);
int
libfwnt_notify_stream_open
(const
char *filename,
libfwnt_error_t
**error);
int
libfwnt_notify_stream_close
(libfwnt_error_t
**error);
Error functions
void
libfwnt_error_free
(libfwnt_error_t
**error);
int
libfwnt_error_fprint
(libfwnt_error_t
*error, FILE
*stream);
int
libfwnt_error_sprint
(libfwnt_error_t
*error, char
*string, size_t
size);
int
libfwnt_error_backtrace_fprint
(libfwnt_error_t
*error, FILE
*stream);
int
libfwnt_error_backtrace_sprint
(libfwnt_error_t
*error, char
*string, size_t
size);
Security descriptor functions
int
libfwnt_security_descriptor_initialize
(libfwnt_security_descriptor_t
**security_descriptor,
libfwnt_error_t
**error);
int
libfwnt_security_descriptor_free
(libfwnt_security_descriptor_t
**security_descriptor,
libfwnt_error_t
**error);
int
libfwnt_security_descriptor_copy_from_byte_stream
(libfwnt_security_descriptor_t
*security_descriptor,
const uint8_t
*byte_stream, size_t
byte_stream_size, int
byte_order,
libfwnt_error_t
**error);
int
libfwnt_security_descriptor_get_owner
(libfwnt_security_descriptor_t
*security_descriptor,
libfwnt_security_identifier_t
**security_identifier,
libfwnt_error_t
**error);
int
libfwnt_security_descriptor_get_group
(libfwnt_security_descriptor_t
*security_descriptor,
libfwnt_security_identifier_t
**security_identifier,
libfwnt_error_t
**error);
int
libfwnt_security_descriptor_get_discretionary_acl
(libfwnt_security_descriptor_t
*security_descriptor,
libfwnt_access_control_list_t
**access_control_list,
libfwnt_error_t
**error);
int
libfwnt_security_descriptor_get_system_acl
(libfwnt_security_descriptor_t
*security_descriptor,
libfwnt_access_control_list_t
**access_control_list,
libfwnt_error_t
**error);
Security identifier (SID) functions
int
libfwnt_security_identifier_initialize
(libfwnt_security_identifier_t
**security_identifier,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_free
(libfwnt_security_identifier_t
**security_identifier,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_copy_from_byte_stream
(libfwnt_security_identifier_t
*security_identifier,
const uint8_t
*byte_stream, size_t
byte_stream_size, int
byte_order,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_get_string_size
(libfwnt_security_identifier_t
*security_identifier,
size_t *string_size,
uint32_t
string_format_flags,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_copy_to_utf8_string
(libfwnt_security_identifier_t
*security_identifier,
uint8_t *utf8_string,
size_t utf8_string_size,
uint32_t
string_format_flags,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_copy_to_utf8_string_with_index
(libfwnt_security_identifier_t
*security_identifier,
uint8_t *utf8_string,
size_t utf8_string_size,
size_t
*utf8_string_index,
uint32_t
string_format_flags,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_copy_to_utf16_string
(libfwnt_security_identifier_t
*security_identifier,
uint16_t *utf16_string,
size_t utf16_string_size,
uint32_t
string_format_flags,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_copy_to_utf16_string_with_index
(libfwnt_security_identifier_t
*security_identifier,
uint16_t *utf16_string,
size_t utf16_string_size,
size_t
*utf16_string_index,
uint32_t
string_format_flags,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_copy_to_utf32_string
(libfwnt_security_identifier_t
*security_identifier,
uint32_t *utf32_string,
size_t utf32_string_size,
uint32_t
string_format_flags,
libfwnt_error_t
**error);
int
libfwnt_security_identifier_copy_to_utf32_string_with_index
(libfwnt_security_identifier_t
*security_identifier,
uint32_t *utf32_string,
size_t utf32_string_size,
size_t
*utf32_string_index,
uint32_t
string_format_flags,
libfwnt_error_t
**error);
Access control list (ACL) functions
int
libfwnt_access_control_list_free
(libfwnt_access_control_list_t
**access_control_list,
libfwnt_error_t
**error);
int
libfwnt_access_control_list_get_number_of_entries
(libfwnt_access_control_list_t
*access_control_list, int
*number_of_entries,
libfwnt_error_t
**error);
int
libfwnt_access_control_list_get_entry_by_index
(libfwnt_access_control_list_t
*access_control_list, int
entry_index,
libfwnt_access_control_entry_t
**access_control_entry,
libfwnt_error_t
**error);
Access control entry (ACE) functions
int
libfwnt_access_control_entry_free
(libfwnt_access_control_entry_t
**access_control_entry,
libfwnt_error_t
**error);
int
libfwnt_access_control_entry_get_type
(libfwnt_access_control_entry_t
*access_control_entry,
uint8_t *type,
libfwnt_error_t
**error);
int
libfwnt_access_control_entry_get_flags
(libfwnt_access_control_entry_t
*access_control_entry,
uint8_t *flags,
libfwnt_error_t
**error);
int
libfwnt_access_control_entry_get_access_mask
(libfwnt_access_control_entry_t
*access_control_entry,
uint32_t *access_mask,
libfwnt_error_t
**error);
int
libfwnt_access_control_entry_get_security_identifier
(libfwnt_access_control_entry_t
*access_control_entry,
libfwnt_security_identifier_t
**security_identifier,
libfwnt_error_t
**error);
LZNT1 functions
int
libfwnt_lznt1_decompress
(const
uint8_t *compressed_data,
size_t
compressed_data_size,
uint8_t
*uncompressed_data,
size_t
*uncompressed_data_size,
libfwnt_error_t
**error);
LZX functions
int
libfwnt_lzx_decompress
(const
uint8_t *compressed_data,
size_t
compressed_data_size,
uint8_t
*uncompressed_data,
size_t
*uncompressed_data_size,
libfwnt_error_t
**error);
LZXPRESS functions
int
libfwnt_lzxpress_decompress
(const
uint8_t *compressed_data,
size_t
compressed_data_size,
uint8_t
*uncompressed_data,
size_t
*uncompressed_data_size,
libfwnt_error_t
**error);
int
libfwnt_lzxpress_huffman_decompress
(const
uint8_t *compressed_data,
size_t
compressed_data_size,
uint8_t
*uncompressed_data,
size_t
*uncompressed_data_size,
libfwnt_error_t
**error);