| GSF Reference Manual |
|---|
Zip —
struct GsfInfileZip; GsfInfile* gsf_infile_zip_new (GsfInput *source, GError **err); struct GsfOutfileZip; GsfOutfile* gsf_outfile_zip_new (GsfOutput *sink, GError **err); gboolean gsf_outfile_zip_set_compression_method (GsfOutfileZip *zip, GsfZipCompressionMethod method); struct GsfZipDirent; GsfZipDirent* gsf_zip_dirent_new (void); void gsf_zip_dirent_free (GsfZipDirent *dirent); struct GsfZipVDir; void gsf_vdir_free (GsfZipVDir *vdir, gboolean free_dirent); GsfZipVDir* gsf_vdir_new (char const *name, gboolean is_directory, GsfZipDirent *dirent); void gsf_vdir_add_child (GsfZipVDir *vdir, GsfZipVDir *child); #define ZIP_DIRENT_USIZE #define ZIP_DIRENT_OFFSET enum GsfZipCompressionMethod; #define ZIP_FILE_HEADER_NAME_SIZE #define ZZIP_IS_STREAMED (p) #define ZIP_FILE_HEADER_EXTRACT #define ZIP_TRAILER_SIZE #define ZIP_HEADER_TIME #define ZIP_FILE_HEADER_SIZE #define ZZIP_IS_ENCRYPTED (p) #define ZIP_HEADER_VERSION #define ZIP_BUF_SIZE #define ZIP_DIRENT_CRC32 #define ZIP_HEADER_COMP_SIZE #define ZIP_DIRENT_COMPR_METHOD #define ZIP_DIRENT_FILE_TYPE #define ZIP_FILE_HEADER_EXTRAS_SIZE #define ZIP_DIRENT_EXTRACT #define ZIP_DIRENT_FILE_MODE #define ZIP_DIRENT_FLAGS #define ZIP_FILE_HEADER_CSIZE #define ZIP_TRAILER_DIR_SIZE #define ZIP_TRAILER_COMMENT_SIZE #define ZIP_TRAILER_ENTRIES #define ZIP_NAME_SEPARATOR #define ZIP_HEADER_SIZE #define ZIP_HEADER_CRC #define ZIP_FILE_HEADER_FLAGS #define ZIP_DIRENT_EXTRAS_SIZE #define ZIP_HEADER_COMP_METHOD #define ZZIP_IS_COMPRLEVEL (p) #define ZIP_DIRENT_DOSTIME #define ZIP_DIRENT_ENCODER #define ZIP_HEADER_OS #define ZIP_DIRENT_COMMENT_SIZE #define ZIP_FILE_HEADER_CRC32 #define ZIP_HEADER_FLAGS #define ZIP_TRAILER_DISK #define ZIP_FILE_HEADER_USIZE #define ZIP_TRAILER_TOTAL_ENTRIES #define ZIP_HEADER_NAME_LEN #define ZIP_HEADER_UNCOMP_SIZE #define ZIP_TRAILER_DIR_DISK #define ZIP_DIRENT_CSIZE #define ZIP_TRAILER_DIR_POS #define ZIP_BLOCK_SIZE #define ZIP_DIRENT_NAME_SIZE #define ZIP_DIRENT_SIZE #define ZIP_DIRENT_DISKSTART #define ZIP_HEADER_EXTRA_LEN #define ZIP_FILE_HEADER_COMPR_METHOD #define ZIP_FILE_HEADER_DOSTIME
GObject +----GsfInput +----GsfInfile +----GsfInfileZip
GObject +----GsfOutput +----GsfOutfile +----GsfOutfileZip
GsfInfile* gsf_infile_zip_new (GsfInput *source, GError **err);
Opens the root directory of a Zip file. NOTE : adds a reference to source
| source : | A base GsfInput |
| err : | A GError, optionally null |
| Returns : | : the new zip file handler |
GsfOutfile* gsf_outfile_zip_new (GsfOutput *sink, GError **err);
Creates the root directory of a Zip file and manages the addition of children.
NOTE : adds a reference to sink
| sink : | |
| err : | |
| Returns : | : the new zip file handler |
gboolean gsf_outfile_zip_set_compression_method
(GsfOutfileZip *zip,
GsfZipCompressionMethod method);
| zip : | |
| method : | |
| Returns : |
struct GsfZipDirent {
char *name;
GsfZipCompressionMethod compr_method;
guint32 crc32;
size_t csize;
size_t usize;
gsf_off_t offset;
gsf_off_t data_offset;
guint32 dostime;
};
struct GsfZipVDir {
char *name;
gboolean is_directory;
GsfZipDirent *dirent;
GSList *children;
};
GsfZipVDir* gsf_vdir_new (char const *name, gboolean is_directory, GsfZipDirent *dirent);
| name : | |
| is_directory : | |
| dirent : | |
| Returns : |
typedef enum {
GSF_ZIP_STORED = 0, /* supported for export */
GSF_ZIP_SHRUNK = 1,
GSF_ZIP_REDUCEDx1 = 2,
GSF_ZIP_REDUCEDx2 = 3,
GSF_ZIP_REDUCEDx3 = 4,
GSF_ZIP_REDUCEDx4 = 5,
GSF_ZIP_IMPLODED = 6,
GSF_ZIP_TOKENIZED = 7,
GSF_ZIP_DEFLATED = 8, /* supported for export */
GSF_ZIP_DEFLATED_BETTER = 9,
GSF_ZIP_IMPLODED_BETTER = 10
} GsfZipCompressionMethod;
| << XML and libxml | Compression >> |