summaryrefslogtreecommitdiff
path: root/zstd_decompress.h
blob: 77b4017951bf07a4554c077c0d129ba3e4240e8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef _ZSTD_DECOMPRESS_
#define _ZSTD_DECOMPRESS_

#include <stdio.h>
#include <zstd.h>

typedef struct zstd_stream zstdStrm;

struct zstd_stream {
        int           back;
        size_t        o_len;
        size_t        o_pos;
        size_t        i_len;
        size_t        i_pos;
        void         *i_buf;
        void         *o_buf;
        ZSTD_DCtx    *strm;
        FILE         *fp;
};

zstdStrm *initDStream(zstdStrm *s);
zstdStrm *zstdOpen(const char *fn);
zstdStrm *zstdFdOpen(int fd);
int zstdDecompress(zstdStrm *s);
int zstdRead(zstdStrm *s, void *buf, size_t len);
int zstdUngetc(int c, zstdStrm *s);
int zstdGetc(zstdStrm *s);
int zstdClose(zstdStrm *s);
int zstdRewind(zstdStrm *s);

#endif // end _ZSTD_DECOMPRESS_