aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h1
-rw-r--r--include/unarchive.h32
2 files changed, 21 insertions, 12 deletions
diff --git a/include/libbb.h b/include/libbb.h
index bc8112310..ec4ff3a20 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -333,7 +333,6 @@ extern int obscure(const char *old, const char *newval, const struct passwd *pwd
333 333
334extern int xopen(const char *pathname, int flags); 334extern int xopen(const char *pathname, int flags);
335extern ssize_t xread(int fd, void *buf, size_t count); 335extern ssize_t xread(int fd, void *buf, size_t count);
336extern ssize_t xread_all_eof(int fd, void *buf, size_t count);
337extern void xread_all(int fd, void *buf, size_t count); 336extern void xread_all(int fd, void *buf, size_t count);
338extern unsigned char xread_char(int fd); 337extern unsigned char xread_char(int fd);
339 338
diff --git a/include/unarchive.h b/include/unarchive.h
index 7926dccf5..b13388b54 100644
--- a/include/unarchive.h
+++ b/include/unarchive.h
@@ -7,14 +7,8 @@
7#define ARCHIVE_EXTRACT_QUIET 8 7#define ARCHIVE_EXTRACT_QUIET 8
8 8
9#include <sys/types.h> 9#include <sys/types.h>
10#include <stdio.h>
11 10
12typedef struct gunzip_s { 11#include <stdio.h>
13 unsigned short buffer_count;
14 unsigned char *buffer;
15 unsigned int crc;
16 unsigned int count;
17} gunzip_t;
18 12
19typedef struct file_headers_s { 13typedef struct file_headers_s {
20 char *name; 14 char *name;
@@ -58,6 +52,12 @@ typedef struct archive_handle_s {
58 /* Count the number of bytes processed */ 52 /* Count the number of bytes processed */
59 off_t offset; 53 off_t offset;
60 54
55 /* Function that reads data: read or read_bz */
56 ssize_t (*read)(int fd, void *buf, size_t count);
57
58 /* Function that skips data: read_by_char or read_by_skip */
59 void (*seek)(const struct archive_handle_s *archive_handle, const unsigned int amount);
60
61 /* Temperary storage */ 61 /* Temperary storage */
62 char *buffer; 62 char *buffer;
63 63
@@ -90,11 +90,21 @@ extern char get_header_ar(archive_handle_t *archive_handle);
90extern char get_header_tar(archive_handle_t *archive_handle); 90extern char get_header_tar(archive_handle_t *archive_handle);
91extern char get_header_tar_gz(archive_handle_t *archive_handle); 91extern char get_header_tar_gz(archive_handle_t *archive_handle);
92 92
93extern unsigned char uncompressStream(FILE *zStream, FILE *stream); 93extern void seek_by_jump(const archive_handle_t *archive_handle, const unsigned int amount);
94extern void seek_by_char(const archive_handle_t *archive_handle, const unsigned int amount);
94 95
95extern void seek_sub_file(int src_fd, unsigned int amount); 96extern unsigned char archive_xread_char(const archive_handle_t *archive_handle);
96extern const unsigned short data_align(const int src_fd, const unsigned int offset, const unsigned short align_to); 97extern ssize_t archive_xread(const archive_handle_t *archive_handle, unsigned char *buf, const size_t count);
98extern void archive_xread_all(const archive_handle_t *archive_handle, void *buf, const size_t count);
99extern ssize_t archive_xread_all_eof(archive_handle_t *archive_handle, unsigned char *buf, size_t count);
100
101extern void data_align(archive_handle_t *archive_handle, const unsigned short boundary);
97extern const llist_t *add_to_list(const llist_t *old_head, const char *new_item); 102extern const llist_t *add_to_list(const llist_t *old_head, const char *new_item);
98extern int copy_file_chunk_fd(int src_fd, int dst_fd, unsigned long long chunksize); 103extern void archive_copy_file(const archive_handle_t *archive_handle, const int dst_fd);
99extern const llist_t *find_list_entry(const llist_t *list, const char *filename); 104extern const llist_t *find_list_entry(const llist_t *list, const char *filename);
105
106extern ssize_t read_bz2(int fd, void *buf, size_t count);
107extern void BZ2_bzReadOpen(int fd, void *unused, int nUnused);
108extern unsigned char uncompressStream(int src_fd, int dst_fd);
109
100#endif 110#endif