Provided by: libbfio-dev_20130507-1ubuntu1_amd64 bug

NAME

     libbfio.h — Library to support (abstracted) basic file input/output (IO)

LIBRARY

     library “libbfio”

SYNOPSIS

     #include <libbfio.h>

     Support functions

     const char *
     libbfio_get_version(void);

     int
     libbfio_get_codepage(int *codepage, libbfio_error_t **error);

     int
     libbfio_set_codepage(int codepage, libbfio_error_t **error);

     Error functions

     void
     libbfio_error_free(libbfio_error_t **error);

     int
     libbfio_error_fprint(libbfio_error_t *error, FILE *stream);

     int
     libbfio_error_sprint(libbfio_error_t *error, char *string, size_t size);

     int
     libbfio_error_backtrace_fprint(libbfio_error_t *error, FILE *stream);

     int
     libbfio_error_backtrace_sprint(libbfio_error_t *error, char *string, size_t size);

     Handle functions

     int
     libbfio_handle_initialize(libbfio_handle_t **handle, intptr_t *io_handle, int (*free_io_handle)( intptr_t **io_handle, libbfio_error_t **error ), int (*clone_io_handle)( intptr_t **destination_io_handle, intptr_t *source_io_handle, libbfio_error_t **error ), int (*open)( intptr_t *io_handle, int access_flags, libbfio_error_t **error ), int (*close)( intptr_t *io_handle, libbfio_error_t **error ), ssize_t (*read)( intptr_t *io_handle, uint8_t *buffer, size_t size, libbfio_error_t **error ), ssize_t (*write)( intptr_t *io_handle, const uint8_t *buffer, size_t size, libbfio_error_t **error ), off64_t (*seek_offset)( intptr_t *io_handle, off64_t offset, int whence, libbfio_error_t **error ), int (*exists)( intptr_t *io_handle, libbfio_error_t **error ), int (*is_open)( intptr_t *io_handle, libbfio_error_t **error ), int (*get_size)( intptr_t *io_handle, size64_t *size, libbfio_error_t **error ), libbfio_error_t **error);

     int
     libbfio_handle_free(libbfio_handle_t **handle, libbfio_error_t **error);

     int
     libbfio_handle_clone(libbfio_handle_t **destination_handle, libbfio_handle_t *source_handle, libbfio_error_t **error);

     int
     libbfio_handle_open(libbfio_handle_t *handle, int access_flags, libbfio_error_t **error);

     int
     libbfio_handle_reopen(libbfio_handle_t *handle, int access_flags, libbfio_error_t **error);

     int
     libbfio_handle_close(libbfio_handle_t *handle, libbfio_error_t **error);

     ssize_t
     libbfio_handle_read_buffer(libbfio_handle_t *handle, uint8_t *buffer, size_t size, libbfio_error_t **error);

     ssize_t
     libbfio_handle_write_buffer(libbfio_handle_t *handle, const uint8_t *buffer, size_t size, libbfio_error_t **error);

     off64_t
     libbfio_handle_seek_offset(libbfio_handle_t *handle, off64_t offset, int whence, libbfio_error_t **error);

     int
     libbfio_handle_exists(libbfio_handle_t *handle, libbfio_error_t **error);

     int
     libbfio_handle_is_open(libbfio_handle_t *handle, libbfio_error_t **error);

     int
     libbfio_handle_get_io_handle(libbfio_handle_t *handle, intptr_t **io_handle, libbfio_error_t **error);

     int
     libbfio_handle_get_access_flags(libbfio_handle_t *handle, int *access_flags, libbfio_error_t **error);

     int
     libbfio_handle_set_access_flags(libbfio_handle_t *handle, int access_flags, libbfio_error_t **error);

     int
     libbfio_handle_get_size(libbfio_handle_t *handle, size64_t *size, libbfio_error_t **error);

     int
     libbfio_handle_get_offset(libbfio_handle_t *handle, off64_t *offset, libbfio_error_t **error);

     int
     libbfio_handle_set_open_on_demand(libbfio_handle_t *handle, uint8_t open_on_demand, libbfio_error_t **error);

     int
     libbfio_handle_set_track_offsets_read(libbfio_handle_t *handle, uint8_t track_offsets_read, libbfio_error_t **error);

     int
     libbfio_handle_get_number_of_offsets_read(libbfio_handle_t *handle, int *number_of_read_offsets, libbfio_error_t **error);

     int
     libbfio_handle_get_offset_read(libbfio_handle_t *handle, int index, off64_t *offset, size64_t *size, libbfio_error_t **error);

     File functions

     int
     libbfio_file_initialize(libbfio_handle_t **handle, libbfio_error_t **error);

     int
     libbfio_file_get_name_size(libbfio_handle_t *handle, size_t *name_size, libbfio_error_t **error);

     int
     libbfio_file_get_name(libbfio_handle_t *handle, char *name, size_t name_size, libbfio_error_t **error);

     int
     libbfio_file_set_name(libbfio_handle_t *handle, const char *name, size_t name_length, libbfio_error_t **error);

     Available when compiled with wide character string support:

     int
     libbfio_file_get_name_size_wide(libbfio_handle_t *handle, size_t *name_size, libbfio_error_t **error);

     int
     libbfio_file_get_name_wide(libbfio_handle_t *handle, wchar_t *name, size_t name_size, libbfio_error_t **error);

     int
     libbfio_file_set_name_wide(libbfio_handle_t *handle, const wchar_t *name, size_t name_length, libbfio_error_t **error);

     File range functions

     int
     libbfio_file_range_initialize(libbfio_handle_t **handle, libbfio_error_t **error);

     int
     libbfio_file_range_get_name_size(libbfio_handle_t *handle, size_t *name_size, libbfio_error_t **error);

     int
     libbfio_file_range_get_name(libbfio_handle_t *handle, char *name, size_t name_size, libbfio_error_t **error);

     int
     libbfio_file_range_set_name(libbfio_handle_t *handle, const char *name, size_t name_length, libbfio_error_t **error);

     int
     libbfio_file_range_get(libbfio_handle_t *handle, off64_t *range_offset, size64_t *range_size, libbfio_error_t **error);

     int
     libbfio_file_range_set(libbfio_handle_t *handle, off64_t range_offset, size64_t range_size, libbfio_error_t **error);

     Available when compiled with wide character string support:

     int
     libbfio_file_range_get_name_size_wide(libbfio_handle_t *handle, size_t *name_size, libbfio_error_t **error);

     int
     libbfio_file_range_get_name_wide(libbfio_handle_t *handle, wchar_t *name, size_t name_size, libbfio_error_t **error);

     int
     libbfio_file_range_set_name_wide(libbfio_handle_t *handle, const wchar_t *name, size_t name_length, libbfio_error_t **error);

     Memory range functions

     int
     libbfio_memory_range_initialize(libbfio_handle_t **handle, libbfio_error_t **error);

     int
     libbfio_memory_range_get(libbfio_handle_t *handle, uint8_t **start, size_t *size, libbfio_error_t **error);

     int
     libbfio_memory_range_set(libbfio_handle_t *handle, uint8_t *start, size_t size, libbfio_error_t **error);

     Pool functions

     int
     libbfio_pool_initialize(libbfio_pool_t **pool, int number_of_handles, int maximum_number_of_open_handles, libbfio_error_t **error);

     int
     libbfio_pool_free(libbfio_pool_t **pool, libbfio_error_t **error);

     int
     libbfio_pool_clone(libbfio_pool_t **destination_pool, libbfio_pool_t *source_pool, libbfio_error_t **error);

     int
     libbfio_pool_resize(libbfio_pool_t *pool, int number_of_handles, libbfio_error_t **error);

     int
     libbfio_pool_get_number_of_handles(libbfio_pool_t *pool, int *number_of_handles, libbfio_error_t **error);

     int
     libbfio_pool_get_handle(libbfio_pool_t *pool, int entry, libbfio_handle_t **handle, libbfio_error_t **error);

     int
     libbfio_pool_append_handle(libbfio_pool_t *pool, int *entry, libbfio_handle_t *handle, int access_flags, libbfio_error_t **error);

     int
     libbfio_pool_set_handle(libbfio_pool_t *pool, int entry, libbfio_handle_t *handle, int access_flags, libbfio_error_t **error);

     int

     libbfio_pool_open libbfio_pool_t *pool, int entry, int access_flags, libbfio_error_t **error

     int

     libbfio_pool_reopen libbfio_pool_t *pool, int entry, int access_flags, libbfio_error_t
     **error

     int

     libbfio_pool_close libbfio_pool_t *pool, int entry, libbfio_error_t **error

     int

     libbfio_pool_close_all libbfio_pool_t *pool, libbfio_error_t **error

     ssize_t

     libbfio_pool_read_buffer libbfio_pool_t *pool, int entry, uint8_t *buffer, size_t size,
     libbfio_error_t **error

     ssize_t

     libbfio_pool_write_buffer libbfio_pool_t *pool, int entry, const uint8_t *buffer, size_t
     size, libbfio_error_t **error

     off64_t
     libbfio_pool_seek_offset(libbfio_pool_t *pool, int entry, off64_t offset, int whence, libbfio_error_t **error);

     int
     libbfio_pool_get_size(libbfio_pool_t *pool, int entry, size64_t *size, libbfio_error_t **error);

     int
     libbfio_pool_get_offset(libbfio_pool_t *pool, int entry, off64_t *offset, libbfio_error_t **error);

     int
     libbfio_pool_get_maximum_number_of_open_handles(libbfio_pool_t *pool, int *maximum_number_of_open_handles, libbfio_error_t **error);

     int
     libbfio_pool_set_maximum_number_of_open_handles(libbfio_pool_t *pool, int maximum_number_of_open_handles, libbfio_error_t **error);

     File pool functions

     int
     libbfio_file_pool_append_handles_for_names(libbfio_pool_t **pool, char * const filenames[], int number_of_filenames, int access_flags, libbfio_error_t **error);

     Available when compiled with wide character string support:

     int
     libbfio_file_pool_append_handles_for_names_wide(libbfio_pool_t **pool, wchar_t * const filenames[], int number_of_filenames, int access_flags, libbfio_error_t **error);

DESCRIPTION

     The libbfio_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 refer to libbfio.h

ENVIRONMENT

     None

FILES

     None

NOTES

     libbfio allows to be compiled with wide character support.  To compile libbfio with wide
     character support use ./configure --enable-wide-character-type=yes or pass the definition
     _UNICODE
      or UNICODE
      to the compiler (i.e. in case of Microsoft Visual Studio (MSVS) C++).

     To have other code to determine if libbfio was compiled with wide character support it
     defines LIBPFF_WIDE_CHARACTER_TYPE
      in libbfio/features.h.

BUGS

     Please report bugs of any kind to <joachim.metz@gmail.com> or on the project website:
     http://code.google.com/p/libbfio/

AUTHOR

     These man pages were written by Joachim Metz.

COPYRIGHT

     Copyright 2009-2013, 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 libbfio.h include file