TODO
* handle clean offset and size on close ?
* complete multi threading support (todo pool)
* remove open on demand ?

Pool
* allow re-set of pool entries?

Memory range
* add callback function to resize memory range if needed?

API
* what about disk full on write

Test
* wide to narrow (ASCII with codepage) conversion
* add autoconf/make test suite
* add open on demand tests
* add multi threading tests
* improve pool tests, e.g. maximum number of open handles
  - add a test for remove handle

Multi-threading support:
* do not add locks to the BFIO back-end IO handles ?

Windows
* add VC_EXTRALEAN to config_msc.h ?

20160108
* changes to seek
* added function to remove handle from pool

20160105
* 2016 update

20150927
* merged history from backups
* updated m4 scripts and msvscpp files

20150104
* update man page: libbfio.3

20150102
* 2015 update

20141229
* updated dpkg files

20141201
* code clean up

20141015
* changes for deployment

20141011
* worked on utility scripts

20140920
* changes for project site move

20140506
* fixes to build static library with mingw and cygwin
* fixes for missing unistd.h includes

20140105
* 2014 update
* updated dependencies

20131003
* updated dependencies

20130809
* updated dependencies
* worked on tests

20130721
* worked on multi threading support
* removed open on demand code from seek offset
* refactored pool to use a cdata array
* worked on tests
* update msvscpp files

20130718
* fixes for multi threading support

20130609
* updated dependencies
* fix for compiling with stand-alone version of libcdata
* fix in .pc.in file

20130509
* small changes

20130507
* updated dependencies

20130502
* updated dependencies
* worked on git release
* moved examples to project page

20130413
* updated dependencies

20130407
* updated dependencies

20130406
* updated dependencies
* removed codegear files
* updated msvscpp files
* remove libbfio_legacy.[ch]
* updated macosx PackageMaker files

20130103
* 2013 update
* added .gitignore

20120915
* worked on libcdata range list changes

20120904
* added libcdata support

20120825
* small fix in pc.in file

20120820
* project move
* applied updates

20120701
* changes for libcsplit

20120630
* updated dependencies

20120507
* updated dependencies

20120425
* fixes for pkg-config detection of libraries

20120409
* updated dependencies
* fixed memory leak due to recent changes

20120408
* updated dependencies

20120407
* updated dependencies
* updated msvscpp and borlandc files

20120406
* worked on libcfile rewrite
* updated msvscpp and borlandc files

20120403
* worked on libcpath rewrite

20120401
* updated .pc and .spec file
* worked on libcpath rewrite

20120305
* additional checks for system strings

20120122
* code clean up

20120118
* updated gettext
* bug fix for POSIX wide character support in path functions

20120102
* 2012 update

20111226
* worked on absolute path support with /../

20111224
* updated libcstring, libuna
* worked on full path functions
* code clean up
* removed deprecated functions

20111115
* code clean up
* updated list type, offset list

20111106
* worked on full file name support for open on demand

20111031
* updated libcstring, libuna
* updated msvscpp files

20111015
* updated configure.ac and m4 files
* updated spec and pc files
* updated common

20110921
* updated libuna

20110918
* code clean up

20110830
* updated libuna
* updated codegear files

20110829
* updated configure.ac

20110828
* worked on file range back end

20110823
* worked on file range back end

20110818
* worked on file range back end

20110816
* updated configure.ac
* worked on file range back end

20110625
* updated configure.ac, libbfio/codepage.h, common, list type
* updated libuna, libcstring

20110312
* updated libuna
* msvscpp added VSDebug build

20110303
* update for Cygwin WINAPI support
* updated libcstring

20110117
* updated libuna
* fix for return value of FormatMessage

20110113
* updated common

20110110
* updated libcstring
* code clean up

20110108
* updated libuna
* added open_close example

20110107
* updated configure.ac
* updated common, libcstring

20110103
* updated libcstring, libuna
* 2011 update

20101219
* code clean up;

20101216
* update to makefile

20101214
* worked on gettext support
* updated common, list type, offset list
* worked on pool clone
* code clean up

20101203
* updated common, liberror, libuna
* updated list type
* updated offset list
* code clean up

20101201
* updated offset list

20101125
* updated configure.ac
* updated libcstring, liberror, libuna

20101115
* updated configure.ac
* updated include/types.h
* updated common
* changed return value of libbfio_offset_list_get_offset

20101106
* fixed some 64-bit WINAPI compilation warnings
* added libbfio.rc

20101103
* added const to write function

20101102
* worked on support for file pre-allocation
* removed pre-allocation it does not provide the desired results
* added LIBBFIO_OUTPUT_ERROR_INSUFFICIENT_SPACE
* updated liberror

20101029
* worked on support for file pre-allocation

20101014
* textual changes
* updated liberror

20101013
* renamed Win95/98 safe WINAPI replacement functions
  to prevent conflict with libsmdev

20101008
* code clean up in offset list

20101007
* changed conditional defines for safe functions in libbfio_file.h
* worked on detailed error reporting
* added close on free in libbfio_handle

20100912
* fix for range sorting in offset list

20100830
* added debug local library type definitions
* fixed bug in detailed error reporting

20100806
* fix for borland builder 5 compilation

20100805
* updated libcstring, libuna

20100801
* update for mingw64

20100725
* changed add into append in offset list

20100723
* renamed flags to access flags
* API change: added management flags to handle
* API change: deprecrated add functions in preference of append functions
* API change: deprecrated flags functions in preference of access_flags functions

20100722
* fix for maintaining file size on write
* updated include/error.h and liberror
* updated libuna

20100720
* textual changes

20100719
* fixed file pool flags issue
* updated include/error.h and liberror
* updated libuna

20100718
* fixed file pool wide open issue

20100716
* updated libuna

20100713
* updated liberror and include/error.h
* updated libuna

20100711
* textual changes
* fix for range merge in offset list

20100706
* updated libuna
* updated list type, offset list
* small changes

20100705
* updated offset list

20100701
* replaced HAVE_GETFILESIZEEX and HAVE_SETFILEPOINTEREX by WINVER check
* added optimized file exists check
* updated libbfio.3 manual

20100627
* updated common, libcstring, liberror, libuna
* updated codepages
* clean up

20100618
* fixes in offset tracking

20100608
* small changes regarding handle clone

20100524
* small textual changes

20100505
* updated configure.ac and Makefile.am files
* updated libuna

20100502
* updated common. libcstring. liberror, libuna
* changed amount of to number of
* added deprecation macros

20100501
* updated common. libcstring

20100430
* worked on mingw compilation
* updated common, libcstring

20100416
* updated liberror, libuna

20100328
* updated libuna
* update macosx files

20100327
* worked on libcstring

20100324
* worked on libcstring

20100321
* removed safe filename

20100316
* worked on Windows long filename support based on patch by Björn Ganster

20100315
* fixed faulty behavior in memory_range based on patch by Xavier Roche

20100221
* updated common, liberror, libuna
* updated contact e-mail address

20100210
* added support functions for initializing a pool of file handles using filenames

20100123
* worked on TODO
* added export to codepage functions in public header
* added iso 8859 codepage support
* updated features

20100122
* fix in public header removed abbundant libbfio_t

20100120
* small changes
* worked on pool throttling

20100119
* worked on pool throttling
* handles are now closed if current amount exceeds maximum amount after set
* handles are now moved to front of (last used) list on read/write/seek
* fixed error in pool throttling
* fixed error in seek offset - offset check not valid for all whences

20100118
* worked on means to set pools open handle limit after initialization

20100117
* small refactoring in read offsets functions

20100106
* updated liberror, libuna
* worked on Borland C++ 5 compiler support

20100104
* updated common
* fix for wide character support

20100102
* worked on support of extended ASCII string to Unicode string conversion

20100101
* updated common, liberror, libuna
* 2010 update
* worked on support of extended ASCII string to Unicode string conversion

20091228
* updated common, liberror, libuna
* worked on Borland C++ 5 compiler support

20091214
* updated libuna

20091213
* worked on CreateFile filename limitation work-around

20091128
* updated byte stream
* moved free library handle in safe windows functions after function call

20091114
* worked on open/close on demand

20091113
* changed dup into open, dup does not create an entirely separate file descriptor

20091112
* fixed error in libbfio_handle_clone and back-end clone functions

20091031
* updated common, libuna
* removed All rights reserved

20091029
* added additional checks to open file

20091028
* added additional checks to memory range

20091026
* updated libuna
* updated narrow_string.h
* changed endian.h into byte_stream.h

20091003
* updated libuna
* updated list type

20090927
* fixed error in setting permission flags in Windows CRT open functions
  which throws of the CodeGear compiler in thinking it has to create files
* changed USE_NATIVE_WINAPI_FUNCTIONS into USE_CRT_FUNCTIONS
* updated list type

20090906
* fixed libtool version of libbfio
* updated error functions in include file

20090901
* updated common/file_stream.h
* fixes for winapi build
* updated libuna

20090829
* small adjustment to configure.ac

20090828
* worked on error in SafeSetFilePointerEx
* updated libuna
* updated common
* fixed genation of spec file
* small updates necessary for distribution of shared library
* moved unlimited amount of handles definitions to global definitions

20090826
* worked on error in SafeSetFilePointerEx

20090821
* added SafeSetFilePointerEx
* added support for g_open

20090820
* small corrections in include/libbfio/types.h.in

20090819
* Worked on non WINNT GetFileSizeEx
* Updated msvscpp solution files
* Added codegear project files
* Updated include file

20090818
* Worked on non WINNT GetFileSizeEx

20090817
* fixed error in 16-bit libbfio_system_string_size_from_narrow_string macro
* fixed wide character error string
* fixed write flags for native winapi functions

20090816
* worked on integrating memory range patches by Xavier Roche

20090815
* encapsulated errno.h in defines
* removed string.h include from libbfio_error_string.c
* added duplicate function
* removed libbfio_set_notify_values
* worked on integrating memory range patches by Xavier Roche

20090808
* worked on Borland C++ compiler support

20090803
* added m4 directory support to autoconf/make files for libtool
* updated libuna
* updated liberror
* updated libbfio_error.[ch]

20090629
* fixed issue checking wrong return value of libbfio_system_string_from_error_number
* added read and write error string
* added handling of EOF in WinAPI ReadFile

20090628
* several fixes based on Borland compiler patches by Peter Van Hove of IsoBuster

20090627
* fixed several errors in libbfio native winapi mode

20090624
* changed Windows file access to only deny shared write access

20090623
* corrected non-install error libbfio/Makefile.am

20090528
* corrected missing code error in pool

20090524
* fixed last offset inclusion in libbfio_offset_list_range_is_present

20090522
* added function to toggle track offsets read
* implemented generation of common/types.h
* removed verbose and debug output from configure
* updated list type

20090516
* added error to list callback functions
* added memwatch CPPFLAGS
* fixed error in handling duplicate offsets in offset list for
  debug output
* fixed error in libbfio_list_insert_value

20090512
* updated liberror and libuna

20090510
* worked on pool throttling
  - last used list is now updated in pool close function

20090509
* refactored libbfio support and error
* updated libuna
* updated libbfio.3 man page
* removed libbfio file io
* worked on pool throttling
  - pool throttling now removes of truncate flag after close

20090426
* changed winbase.h into windows.h

20090425
* worked on abstracted exists function
* changed behavior of set name function in file

20090423
* worked on abstracted exists function

20090422
* added extra dist of libbfio_definitions.h.in

20090419
* fixed handle reopen no closing open file
* updated common/endian.h

20090412
* added check to determine if handle exists in pool close all

20090405
* small adjustments
* added libbfio_handle_get_size function

20090404
* fixed offset error in libbfio_handle_seek_offset, due to introduction of whence
* added libbfio_get_file_name_size and libbfio_get_file_name_size_wide functions

20090323
* fixed error in make dist
* implemented native WINAPI file function support allows access to windows devices

20090315
* added libbfio_pool_get_amount_of_handles
* added libbfio_pool_set_handle
* small corrections

20090312
* Moved earlier version of libbfio in libpff and libewf into separate package

