.Dd December 12, 2020 .Dt libqcow 3 .Os libqcow .Sh NAME .Nm libqcow.h .Nd Library to access the QEMU Copy-On-Write (QCOW) image file format .Sh SYNOPSIS .In libqcow.h .Pp Support functions .Ft const char * .Fn libqcow_get_version "void" .Ft int .Fn libqcow_get_access_flags_read "void" .Ft int .Fn libqcow_get_access_flags_read_write "void" .Ft int .Fn libqcow_get_access_flags_write "void" .Ft int .Fn libqcow_get_codepage "int *codepage" "libqcow_error_t **error" .Ft int .Fn libqcow_set_codepage "int codepage" "libqcow_error_t **error" .Ft int .Fn libqcow_check_file_signature "const char *filename" "libqcow_error_t **error" .Pp Available when compiled with wide character string support: .Ft int .Fn libqcow_check_file_signature_wide "const wchar_t *filename" "libqcow_error_t **error" .Pp Available when compiled with libbfio support: .Ft int .Fn libqcow_check_file_signature_file_io_handle "libbfio_handle_t *bfio_handle" "libqcow_error_t **error" .Pp Notify functions .Ft void .Fn libqcow_notify_set_verbose "int verbose" .Ft int .Fn libqcow_notify_set_stream "FILE *stream" "libqcow_error_t **error" .Ft int .Fn libqcow_notify_stream_open "const char *filename" "libqcow_error_t **error" .Ft int .Fn libqcow_notify_stream_close "libqcow_error_t **error" .Pp Error functions .Ft void .Fn libqcow_error_free "libqcow_error_t **error" .Ft int .Fn libqcow_error_fprint "libqcow_error_t *error" "FILE *stream" .Ft int .Fn libqcow_error_sprint "libqcow_error_t *error" "char *string" "size_t size" .Ft int .Fn libqcow_error_backtrace_fprint "libqcow_error_t *error" "FILE *stream" .Ft int .Fn libqcow_error_backtrace_sprint "libqcow_error_t *error" "char *string" "size_t size" .Pp File functions .Ft int .Fn libqcow_file_initialize "libqcow_file_t **file" "libqcow_error_t **error" .Ft int .Fn libqcow_file_free "libqcow_file_t **file" "libqcow_error_t **error" .Ft int .Fn libqcow_file_signal_abort "libqcow_file_t *file" "libqcow_error_t **error" .Ft int .Fn libqcow_file_open "libqcow_file_t *file" "const char *filename" "int access_flags" "libqcow_error_t **error" .Ft int .Fn libqcow_file_close "libqcow_file_t *file" "libqcow_error_t **error" .Ft int .Fn libqcow_file_is_locked "libqcow_file_t *file" "libqcow_error_t **error" .Ft ssize_t .Fn libqcow_file_read_buffer "libqcow_file_t *file" "void *buffer" "size_t buffer_size" "libqcow_error_t **error" .Ft ssize_t .Fn libqcow_file_read_buffer_at_offset "libqcow_file_t *file" "void *buffer" "size_t buffer_size" "off64_t offset" "libqcow_error_t **error" .Ft off64_t .Fn libqcow_file_seek_offset "libqcow_file_t *file" "off64_t offset" "int whence" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_offset "libqcow_file_t *file" "off64_t *offset" "libqcow_error_t **error" .Ft int .Fn libqcow_file_set_parent_file "libqcow_file_t *file" "libqcow_file_t *parent_file" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_format_version "libqcow_file_t *file" "uint32_t *format_version" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_encryption_method "libqcow_file_t *file" "uint32_t *encryption_method" "libqcow_error_t **error" .Ft int .Fn libqcow_file_set_keys "libqcow_file_t *file" "const uint8_t *key" "size_t key_size" "libqcow_error_t **error" .Ft int .Fn libqcow_file_set_utf8_password "libqcow_file_t *file" "const uint8_t *utf8_string" "size_t utf8_string_length" "libqcow_error_t **error" .Ft int .Fn libqcow_file_set_utf16_password "libqcow_file_t *file" "const uint16_t *utf16_string" "size_t utf16_string_length" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_media_size "libqcow_file_t *file" "size64_t *media_size" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_utf8_backing_filename_size "libqcow_file_t *file" "size_t *utf8_string_size" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_utf8_backing_filename "libqcow_file_t *file" "uint8_t *utf8_string" "size_t utf8_string_size" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_utf16_backing_filename_size "libqcow_file_t *file" "size_t *utf16_string_size" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_utf16_backing_filename "libqcow_file_t *file" "uint16_t *utf16_string" "size_t utf16_string_size" "libqcow_error_t **error" .Ft int .Fn libqcow_file_get_number_of_snapshots "libqcow_file_t *file" "int *number_of_snapshots" "libqcow_error_t **error" .Pp Available when compiled with wide character string support: .Ft int .Fn libqcow_file_open_wide "libqcow_file_t *file" "const wchar_t *filename" "int access_flags" "libqcow_error_t **error" .Pp Available when compiled with libbfio support: .Ft int .Fn libqcow_file_open_file_io_handle "libqcow_file_t *file" "libbfio_handle_t *file_io_handle" "int access_flags" "libqcow_error_t **error" .Sh DESCRIPTION The .Fn libqcow_get_version function is used to retrieve the library version. .Sh RETURN VALUES Most of the functions return NULL or \-1 on error, dependent on the return type. For the actual return values see "libqcow.h". .Sh ENVIRONMENT None .Sh FILES None .Sh NOTES libqcow can be compiled with wide character support (wchar_t). .sp To compile libqcow with wide character support use: .Ar ./configure --enable-wide-character-type=yes or define: .Ar _UNICODE or .Ar UNICODE during compilation. .sp .Ar LIBQCOW_WIDE_CHARACTER_TYPE in libqcow/features.h can be used to determine if libqcow was compiled with wide character support. .Sh BUGS Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libqcow/issues .Sh AUTHOR These man pages are generated from "libqcow.h". .Sh COPYRIGHT Copyright (C) 2010-2020, Joachim Metz . .sp This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .Sh SEE ALSO the libqcow.h include file