38 #include "NptConfig.h" 39 #include "NptStreams.h" 46 class NPT_ZipInflateState;
47 class NPT_ZipDeflateState;
52 const unsigned int NPT_ZIP_FILE_FLAG_ENCRYPTED = 0x01;
53 const unsigned int NPT_ZIP_FILE_COMPRESSION_METHOD_NONE = 0x00;
54 const unsigned int NPT_ZIP_FILE_COMPRESSION_METHOD_DEFLATE = 0x08;
62 Entry(
const unsigned char* data, NPT_Size data_available);
65 NPT_UInt16 m_CompressionMethod;
67 NPT_LargeSize m_CompressedSize;
68 NPT_LargeSize m_UncompressedSize;
69 NPT_UInt16 m_DiskNumber;
70 NPT_UInt16 m_InternalFileAttributes;
71 NPT_UInt32 m_ExternalFileAttributes;
72 NPT_Position m_RelativeOffset;
73 NPT_UInt32 m_DirectoryEntrySize;
94 const int NPT_ZIP_COMPRESSION_LEVEL_DEFAULT = -1;
95 const int NPT_ZIP_COMPRESSION_LEVEL_MIN = 0;
96 const int NPT_ZIP_COMPRESSION_LEVEL_MAX = 9;
97 const int NPT_ZIP_COMPRESSION_LEVEL_NONE = 0;
102 static NPT_Result MapError(
int err);
117 int compression_level = NPT_ZIP_COMPRESSION_LEVEL_DEFAULT,
118 Format format = ZLIB);
130 static NPT_Result Deflate(
NPT_File& in,
132 int compression_level = NPT_ZIP_COMPRESSION_LEVEL_DEFAULT,
133 Format format = GZIP);
147 NPT_Result Read(
void* buffer,
148 NPT_Size bytes_to_read,
149 NPT_Size* bytes_read = NULL)
override;
150 NPT_Result Seek(NPT_Position offset)
override;
151 NPT_Result Tell(NPT_Position& offset)
override;
152 NPT_Result GetSize(NPT_LargeSize& size)
override;
153 NPT_Result GetAvailable(NPT_LargeSize& available)
override;
157 NPT_Position m_Position;
158 NPT_ZipInflateState* m_State;
173 int compression_level = NPT_ZIP_COMPRESSION_LEVEL_DEFAULT,
178 NPT_Result Read(
void* buffer,
179 NPT_Size bytes_to_read,
180 NPT_Size* bytes_read = NULL)
override;
181 NPT_Result Seek(NPT_Position offset)
override;
182 NPT_Result Tell(NPT_Position& offset)
override;
183 NPT_Result GetSize(NPT_LargeSize& size)
override;
184 NPT_Result GetAvailable(NPT_LargeSize& available)
override;
188 NPT_Position m_Position;
190 NPT_ZipDeflateState* m_State;
220 #endif // _NPT_ZIP_H_
Definition: NptArray.h:54
Definition: NptDataBuffer.h:44
Definition: NptFile.h:153
Definition: NptStrings.h:57
Format
Compressed data format.
Definition: NptZip.h:107