Pyrogenesis  trunk
Classes | Enumerations | Functions | Variables
archive_zip.cpp File Reference
#include "precompiled.h"
#include "lib/file/archive/archive_zip.h"
#include <time.h>
#include <limits>
#include "lib/utf8.h"
#include "lib/bits.h"
#include "lib/byte_order.h"
#include "lib/allocators/pool.h"
#include "lib/sysdep/filesystem.h"
#include "lib/file/archive/archive.h"
#include "lib/file/archive/codec_zlib.h"
#include "lib/file/archive/stream.h"
#include "lib/file/file.h"
#include "lib/file/io/io.h"
Include dependency graph for archive_zip.cpp:

Classes

class  LFH
 
class  CDFH
 
class  ECDR
 
class  ArchiveFile_Zip
 
struct  ArchiveFile_Zip::LFH_Copier
 
class  ArchiveReader_Zip
 
class  ArchiveWriter_Zip
 

Enumerations

enum  ZipMethod { ZIP_METHOD_NONE = 0, ZIP_METHOD_DEFLATE = 8 }
 

Functions

static time_t time_t_from_FAT (u32 fat_timedate)
 
static u32 FAT_from_time_t (time_t time)
 
 cassert (sizeof(LFH)==30)
 
 cassert (sizeof(CDFH)==46)
 
 cassert (sizeof(ECDR)==22)
 
PIArchiveReader CreateArchiveReader_Zip (const OsPath &archivePathname)
 
PIArchiveWriter CreateArchiveWriter_Zip (const OsPath &archivePathname, bool noDeflate)
 

Variables

static const u32 cdfh_magic = FOURCC_LE('P','K','\1','\2')
 
static const u32 lfh_magic = FOURCC_LE('P','K','\3','\4')
 
static const u32 ecdr_magic = FOURCC_LE('P','K','\5','\6')
 

Enumeration Type Documentation

enum ZipMethod
Enumerator
ZIP_METHOD_NONE 
ZIP_METHOD_DEFLATE 

Function Documentation

cassert ( sizeof(LFH = =30)
cassert ( sizeof(CDFH = =46)
cassert ( sizeof(ECDR = =22)
PIArchiveReader CreateArchiveReader_Zip ( const OsPath archivePathname)
Returns
0 if opening the archive failed (e.g. because an external program is holding on to it)
PIArchiveWriter CreateArchiveWriter_Zip ( const OsPath archivePathname,
bool  noDeflate 
)
Returns
0 if opening the archive failed (e.g. because an external program is holding on to it)
static u32 FAT_from_time_t ( time_t  time)
static
static time_t time_t_from_FAT ( u32  fat_timedate)
static

Variable Documentation

const u32 cdfh_magic = FOURCC_LE('P','K','\1','\2')
static
const u32 ecdr_magic = FOURCC_LE('P','K','\5','\6')
static
const u32 lfh_magic = FOURCC_LE('P','K','\3','\4')
static