|SOURCE|
[Common::System::File]
* Added ReadUInt32 and WriteUInt32 member functions, which act in the same way
  as previous Read* and Write* memeber functions
[Linux::System::NativeFile]
* ReadUInt32 will read p_Count ZED_UINT32-sized values from the file and will
  report any errors
* WriteUInt32 writes the requested amount of ZED_UINT32s, returning ZED_OK if
  the function did not encounter any errors
|SOURCE|
[Linux::System::NativeFile]
* Rewind resets the position in the stream of the current file to the beginning
* Add Read* and Write* member functions check if m_pFile is not null before
  continuing
* Read* member functions verify the p_pRead variable is not null before
  attempting to use it, discarding its use if it is not passed in
* Write* member functions verify the p_pWritten variable is not null before
  attempting to use it, discarding its use if it is not passed in
|SOURCE|
[Common::System::File]
* Added IsOpen to check if the file is still open
* Added a default constructor to set the open status to false
[Linux::System::NativeFile]
* Open status is set according to the fopen and fclose calls
* Replaced all instances of checking if m_pFile is ZED_NULL with checking the
  value of the m_Open variable
|SOURCE|
[Common::System::File]
* The constructor sets the file descriptor to be invalid
* GetSize is implemented in the class, rather than being a virtual function, as
  the m_Size member variable is available to all derived classes
* Added a file descriptor member variable which is usful for memory mapped
  files using the file descriptor to map the contentss of the file into memory
* GetFileDescriptor returns the file descriptor associated with the file stream
[Common::System::MemoryMappedFile]
* Memory mapped files can be used to treat memory as if it were a file.  This
  class allows files which have file descriptors (namely; NativeFile and
  ZEDFile) to have the entire file or a part of the file resident in memory,
  and will only modify the contents of the original file if the file is open
  for writing and if the names of the files differ
* SetOffset* sets the offset in the file for either a theoretically 2GiB
  limited 32-bit offset into a file or a 64-bit offset
* SetSize is only available for memory mapped files, as the length of the file
  to be read into memory must be known
* SetFileToMap takes in any ZED::System::File and as long as the file
  descriptor is valid (i.e. there is a stream available), it may be mapped into
  memory
[Common::System::NativeFile]
* Removed GetSize member function and the m_Size member varialbe, as they are
  available in the base class
[Linux::System::DataTypes_Linux_x86_32]
* Added ZED_SCHAR8 and ZED_SCHAR16
* Added file descriptor type (ZED_FILE_DESCRIPTOR) and the value of an invalid
  file descriptor (ZED_FILE_DESCRIPTOR_INVALID)
[Linux::System::DataTypes_Linux_x86_64]
* Removed duplicate ZED_SCHAR8
* Added file descriptor type (ZED_FILE_DESCRIPTOR) and the value of an invalid
  file descriptor (ZED_FILE_DESCRIPTOR_INVALID)
[Linux::System::MemoryMappedFile]
* Open does not currently do any checking of permissions on the file open to
  disable writing or save to another file (which will be harder, due to being
  able to read/write to either a native file or a ZED file)
* Open verifies the file descriptor is valid, that the size being accessed is
  not zero or runs past the end of the file (32-bit only for the second one
  right now), and that only one offset type is set (32-bit or 64-bit)
* Open calls mmap when the data required has been verified as being safe to run
  with
* Close calls munmap to release the mapping of the file from memory
[Linux::System::NativeFile]
* At the end of Open, the file descriptor for the file is obtained and checked
  to be valid, returning ZED_FAIL if it is not valid
|SOURCE|
* Open calls Close at the top of the member function to ensure any previously
  opened files from the same instance are closed before continuing
* Close invalidates the file descriptor
|SOURCE|
[Common::System::File]
* GetFileAccess returns the current file access flags
* Added a file access member variable to keep track of the type of file access
  derived files have
* Default constructor clears the file access member variable
[Common::System::MemoryMappedFile]
* Corrected incorrect const in Read* member functions (should have been
  non-const)
* Added a member variable to keep track of the current offset in memory when
  reading and writing
[Linux::System::MemoryMappedFile]
* Open respects the file access from the passed in file, not updating the file
  for read-only files and passing the correct protection
* Close calls msync (blocking) to update the contents of the file if it is open
  for writing (this should also happen for appending and updating, too)
* Seek does nothing and is just stubbed out
* Rewind resets the current offset for the memory
* Write* member functions are stubbed out and do nothing
* Read* member functions verify that the bytes read will not go out of bounds
  of the memory, copies the memory from the file in memroy to the destination,
  then advances the offset for the pointer to the file in memory
|SOURCE|
[Common::System::MemroyMappedFile]
* Removed SetOffset* and SetSize, setting the offset and size for the memory
  mapped file is handled in the SetFileToMap* member functions
[Linux::System::MemoryMappedFile]
* SetFileToMap* both check if the size + offset exceed the file's size before
  setting the offset and size member variables
|SOURCE|
[Linux::System::File]
* Moved File.cpp from Linux's source to LinuxFile.cpp, as the common one would
  overwrite the Linux-specific one when being compiled into an object file
|SOURCE|
[Linux::System::File]
* Removed File destructor from the Linux-specific source directory (which
  caused conflicts when linking)
|SOURCE|
[Common::System::File]
* GetFileAccess is defined to return the m_FileAccess member variable
|SOURCE|
[Linux::System::NativeFile]
* Replaced all instances of if( m_Open )... with if( !m_Open )... when checking
  for the validity of a file for access
|SOURCE|
[Common::System:MemoryMappedFile]
* Added a MMOFFSETTYPE to keep track of the offset type in use by the memory
  mapped file
* Added a member variable of type MMOFFSETTYPE
[Linux::System::MemoryMappedFile]
* Added error messages for all failure states returned
* Modified the 32-bit/64-bit check in Open to select which offset size to use
  when calling mmap/mmap64
|SOURCE|
[Linux::System::MemoryMappedFile]
* Open returns ZED_OK instead of ZED_FAIL on success [big bug!]
|SOURCE|
[Common::System::File]
* Added FILE_SEEK enum to be used in File::Seek for the position in the file to
  begin the offset from
* Seek accepts FILE_SEEK as a parameter to set the starting position to seek
  from
[Linux::System::NativeFile]
* Seek calls the fseek funciton with SEEK_SET, SEEK_CUR, or SEEK_END, depending
  on the type requested from the second parameter, returning ZED_OK on success
  or ZED_FAIL on failure, printing the error out to the command line if
  necessary
|SOURCE|
[Common::System::File]
* Added GetPosition to return the current position the file pointer is at
[Linux::System::MemoryMappedFile]
* The m_CurrentOffset member variable is returned, which should contain the
  current position in memory for the memory mapped file
[Linux::System::NativeFile]
* GetPosition calls ftell to retrieve the position of the file pointer
|SOURCE|
[Linux::System::MemoryMappedFile]
* Current Offset member set to zero from the default constructor
* Open checks if the address returned from mmap is MAP_FAILED, which will print
  out further information about the error
* Seek checks the offset is within the bounds of the file given the starting
  point before updating the current offset into the file
|MERGE|
system_file -> unstable