libfwnt(3)

NAME
libfwnt.h - Library to support common Windows NT specific formats

SYNOPSIS
#include <libfwnt.h>

Support functions
const char *
libfwnt_get_version(void);

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);

DESCRIPTION
The libfwnt_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 see "libfwnt.h".

ENVIRONMENT
None

FILES
None

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

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

COPYRIGHT
Copyright (C) 2009-2019, 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 libfwnt.h include file