1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/* iowin32.c -- IO base function header for compress/uncompress .zip
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Version 1.1, February 14h, 2010
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Modifications for Zip64 support
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync For more info read MiniZip_info.txt
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncuLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncuLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncZPOS64_T ZCALLBACK win32_tell64_file_func OF((voidpf opaque, voidpf stream));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynclong ZCALLBACK win32_seek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncint ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncint ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream));
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynctypedef struct
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int mode)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int mode)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int mode)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mode)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncuLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong size)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncuLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* buf,uLong size)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynclong ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_CURRENT);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR))
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynclong ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,int origin)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync default: return -1;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsynclong ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T offset,int origin)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync default: return -1;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMoveMethod);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncint ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncint ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoid fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zopen_file = win32_open_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zread_file = win32_read_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zwrite_file = win32_write_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->ztell_file = win32_tell_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zseek_file = win32_seek_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zclose_file = win32_close_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zerror_file = win32_error_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoid fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zopen64_file = win32_open64_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zread_file = win32_read_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zwrite_file = win32_write_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zclose_file = win32_close_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zerror_file = win32_error_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoid fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zread_file = win32_read_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zwrite_file = win32_write_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zclose_file = win32_close_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zerror_file = win32_error_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncvoid fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zread_file = win32_read_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zwrite_file = win32_write_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync pzlib_filefunc_def->zclose_file = win32_close_file_func;