diff options
Diffstat (limited to 'src/gzip.h')
-rw-r--r-- | src/gzip.h | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -24,12 +24,44 @@ struct opkg_opk_gzip; typedef int (opkg_opk_gzip_read_func)(void *, char **, size_t *); +/* + * Allocates and initializes a decompression structure. + * Parameters: + * - read: Function to read compressed data. Parameter 1 is user_data, + * parameter 2 is an address in which the read function should + * store an address to compressed data, and parameter 3 is an + * address in which the read function should store the size of read + * compressed data. Should return OPKG_OPK_OK if data is read, + * OPKG_OPK_END if no more data is available (end of file or + * archive), or OPKG_OPK_ERROR on error. + * - user_data: Passed to read function. + * Returns: + * - Allocated decompression structure on success. Free with + * opkg_opk_gzip_free(). + * - NULL on memory exhaustion. + */ struct opkg_opk_gzip * opkg_opk_gzip_init(opkg_opk_gzip_read_func *read, void *user_data); +/* + * Reads and decompresses data to output the next record (512 octets). + * Parameters: + * - gzip: Decompression structure. + * - record: Address in which to store decompressed record. + * Returns: + * - OPKG_OPK_OK if a record is read and decompressed. + * - OPKG_OPK_END if the end of the gzip stream is reached. + * - OPKG_OPK_ERROR if the read function returned an error, the compressed input + * data or gzip stream end prematurely, or zlib returns an error. + */ int opkg_opk_gzip_read(struct opkg_opk_gzip *gzip, void *record); +/* + * Frees a decompression structure. + * Parameters: + * - gzip: Decompression structure. + */ void opkg_opk_gzip_free(struct opkg_opk_gzip *gzip); |