X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fzip-reader.h;h=225c5fecc5ad257e3635f7bcfec5b8c82d0d3f10;hb=62b7d6a20be776ebd070d9c3fc9f62e5a541b71b;hp=6277b768e041939659d9b9185c23eb46be7f754e;hpb=f790dbda9d498eef9c9c0a49078adbeecf768d56;p=pspp diff --git a/src/libpspp/zip-reader.h b/src/libpspp/zip-reader.h index 6277b768e0..225c5fecc5 100644 --- a/src/libpspp/zip-reader.h +++ b/src/libpspp/zip-reader.h @@ -18,46 +18,10 @@ #ifndef ZIP_READER_H #define ZIP_READER_H 1 -#include - +struct zip_member; struct zip_reader; struct string; -enum compression - { - COMPRESSION_STORED = 0, - COMPRESSION_INFLATE, - n_COMPRESSION - }; - -struct zip_member -{ - FILE *fp; /* The stream from which the data is read */ - uint32_t offset; /* Starting offset in file. */ - uint32_t comp_size; /* Length of member file data, in bytes. */ - uint32_t ucomp_size; /* Uncompressed length of member file data, in bytes. */ - uint32_t expected_crc; /* CRC-32 of member file data.. */ - char *name; /* Name of member file. */ - uint32_t crc; - enum compression compression; - - size_t bytes_unread; /* Number of bytes left in the member available for reading */ - int ref_cnt; - struct string *errmsgs; /* A string to hold error messages. - This string is NOT owned by this object. */ - void *aux; -}; - -struct decompressor -{ - bool (*init) (struct zip_member *); - int (*read) (struct zip_member *, void *, size_t); - void (*finish) (struct zip_member *); -}; - - -void zm_dump (const struct zip_member *zm); - /* Create zip reader to read the file called FILENAME. If ERRS is non-null if will be used to contain any error messages which the reader wishes to report. @@ -67,6 +31,11 @@ struct zip_reader *zip_reader_create (const char *filename, struct string *errs) /* Destroy the zip reader */ void zip_reader_destroy (struct zip_reader *zr); +/* Returns the name of ZR's member IDX, IDX >= 0. Returns NULL if ZR has fewer + than (IDX + 1) members. */ +const char *zip_reader_get_member_name(const struct zip_reader *zr, + size_t idx); + /* Return the zip member in the reader ZR, called MEMBER */ struct zip_member *zip_member_open (struct zip_reader *zr, const char *member); @@ -74,13 +43,8 @@ struct zip_member *zip_member_open (struct zip_reader *zr, const char *member); Returns the number of bytes read, or -1 on error */ int zip_member_read (struct zip_member *zm, void *buf, size_t n); -/* Unref (and possibly destroy) the zip member ZM */ -void zip_member_unref (struct zip_member *zm); - -/* Ref the zip member */ -void zip_member_ref (struct zip_member *zm); - void zip_member_finish (struct zip_member *zm); + #endif