aboutsummaryrefslogtreecommitdiff
path: root/include/unarchive.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/unarchive.h')
-rw-r--r--include/unarchive.h78
1 files changed, 39 insertions, 39 deletions
diff --git a/include/unarchive.h b/include/unarchive.h
index a6b047794..721f879a4 100644
--- a/include/unarchive.h
+++ b/include/unarchive.h
@@ -31,7 +31,7 @@ typedef struct file_header_t {
31 31
32typedef struct archive_handle_t { 32typedef struct archive_handle_t {
33 /* define if the header and data component should be processed */ 33 /* define if the header and data component should be processed */
34 char (*filter)(struct archive_handle_t *); 34 char FAST_FUNC (*filter)(struct archive_handle_t *);
35 llist_t *accept; 35 llist_t *accept;
36 /* List of files that have been rejected */ 36 /* List of files that have been rejected */
37 llist_t *reject; 37 llist_t *reject;
@@ -42,13 +42,13 @@ typedef struct archive_handle_t {
42 file_header_t *file_header; 42 file_header_t *file_header;
43 43
44 /* process the header component, e.g. tar -t */ 44 /* process the header component, e.g. tar -t */
45 void (*action_header)(const file_header_t *); 45 void FAST_FUNC (*action_header)(const file_header_t *);
46 46
47 /* process the data component, e.g. extract to filesystem */ 47 /* process the data component, e.g. extract to filesystem */
48 void (*action_data)(struct archive_handle_t *); 48 void FAST_FUNC (*action_data)(struct archive_handle_t *);
49 49
50 /* How to process any sub archive, e.g. get_header_tar_gz */ 50 /* How to process any sub archive, e.g. get_header_tar_gz */
51 char (*action_data_subarchive)(struct archive_handle_t *); 51 char FAST_FUNC (*action_data_subarchive)(struct archive_handle_t *);
52 52
53 /* Contains the handle to a sub archive */ 53 /* Contains the handle to a sub archive */
54 struct archive_handle_t *sub_archive; 54 struct archive_handle_t *sub_archive;
@@ -60,7 +60,7 @@ typedef struct archive_handle_t {
60 off_t offset; 60 off_t offset;
61 61
62 /* Function that skips data: read_by_char or read_by_skip */ 62 /* Function that skips data: read_by_char or read_by_skip */
63 void (*seek)(const struct archive_handle_t *archive_handle, const unsigned amount); 63 void FAST_FUNC (*seek)(const struct archive_handle_t *archive_handle, const unsigned amount);
64 64
65 /* Temporary storage */ 65 /* Temporary storage */
66 char *buffer; 66 char *buffer;
@@ -71,62 +71,62 @@ typedef struct archive_handle_t {
71} archive_handle_t; 71} archive_handle_t;
72 72
73 73
74extern archive_handle_t *init_handle(void); 74extern archive_handle_t *init_handle(void) FAST_FUNC;
75 75
76extern char filter_accept_all(archive_handle_t *archive_handle); 76extern char filter_accept_all(archive_handle_t *archive_handle) FAST_FUNC;
77extern char filter_accept_list(archive_handle_t *archive_handle); 77extern char filter_accept_list(archive_handle_t *archive_handle) FAST_FUNC;
78extern char filter_accept_list_reassign(archive_handle_t *archive_handle); 78extern char filter_accept_list_reassign(archive_handle_t *archive_handle) FAST_FUNC;
79extern char filter_accept_reject_list(archive_handle_t *archive_handle); 79extern char filter_accept_reject_list(archive_handle_t *archive_handle) FAST_FUNC;
80 80
81extern void unpack_ar_archive(archive_handle_t *ar_archive); 81extern void unpack_ar_archive(archive_handle_t *ar_archive) FAST_FUNC;
82 82
83extern void data_skip(archive_handle_t *archive_handle); 83extern void data_skip(archive_handle_t *archive_handle) FAST_FUNC;
84extern void data_extract_all(archive_handle_t *archive_handle); 84extern void data_extract_all(archive_handle_t *archive_handle) FAST_FUNC;
85extern void data_extract_to_stdout(archive_handle_t *archive_handle); 85extern void data_extract_to_stdout(archive_handle_t *archive_handle) FAST_FUNC;
86extern void data_extract_to_buffer(archive_handle_t *archive_handle); 86extern void data_extract_to_buffer(archive_handle_t *archive_handle) FAST_FUNC;
87 87
88extern void header_skip(const file_header_t *file_header); 88extern void header_skip(const file_header_t *file_header) FAST_FUNC;
89extern void header_list(const file_header_t *file_header); 89extern void header_list(const file_header_t *file_header) FAST_FUNC;
90extern void header_verbose_list(const file_header_t *file_header); 90extern void header_verbose_list(const file_header_t *file_header) FAST_FUNC;
91 91
92extern char get_header_ar(archive_handle_t *archive_handle); 92extern char get_header_ar(archive_handle_t *archive_handle) FAST_FUNC;
93extern char get_header_cpio(archive_handle_t *archive_handle); 93extern char get_header_cpio(archive_handle_t *archive_handle) FAST_FUNC;
94extern char get_header_tar(archive_handle_t *archive_handle); 94extern char get_header_tar(archive_handle_t *archive_handle) FAST_FUNC;
95extern char get_header_tar_bz2(archive_handle_t *archive_handle); 95extern char get_header_tar_bz2(archive_handle_t *archive_handle) FAST_FUNC;
96extern char get_header_tar_lzma(archive_handle_t *archive_handle); 96extern char get_header_tar_lzma(archive_handle_t *archive_handle) FAST_FUNC;
97extern char get_header_tar_gz(archive_handle_t *archive_handle); 97extern char get_header_tar_gz(archive_handle_t *archive_handle) FAST_FUNC;
98 98
99extern void seek_by_jump(const archive_handle_t *archive_handle, unsigned amount); 99extern void seek_by_jump(const archive_handle_t *archive_handle, unsigned amount) FAST_FUNC;
100extern void seek_by_read(const archive_handle_t *archive_handle, unsigned amount); 100extern void seek_by_read(const archive_handle_t *archive_handle, unsigned amount) FAST_FUNC;
101 101
102extern ssize_t archive_xread_all_eof(archive_handle_t *archive_handle, unsigned char *buf, size_t count); 102extern ssize_t archive_xread_all_eof(archive_handle_t *archive_handle, unsigned char *buf, size_t count) FAST_FUNC;
103 103
104extern void data_align(archive_handle_t *archive_handle, unsigned boundary); 104extern void data_align(archive_handle_t *archive_handle, unsigned boundary) FAST_FUNC;
105extern const llist_t *find_list_entry(const llist_t *list, const char *filename); 105extern const llist_t *find_list_entry(const llist_t *list, const char *filename) FAST_FUNC;
106extern const llist_t *find_list_entry2(const llist_t *list, const char *filename); 106extern const llist_t *find_list_entry2(const llist_t *list, const char *filename) FAST_FUNC;
107 107
108/* A bit of bunzip2 internals are exposed for compressed help support: */ 108/* A bit of bunzip2 internals are exposed for compressed help support: */
109typedef struct bunzip_data bunzip_data; 109typedef struct bunzip_data bunzip_data;
110int start_bunzip(bunzip_data **bdp, int in_fd, const unsigned char *inbuf, int len); 110int start_bunzip(bunzip_data **bdp, int in_fd, const unsigned char *inbuf, int len) FAST_FUNC;
111int read_bunzip(bunzip_data *bd, char *outbuf, int len); 111int read_bunzip(bunzip_data *bd, char *outbuf, int len) FAST_FUNC;
112void dealloc_bunzip(bunzip_data *bd); 112void dealloc_bunzip(bunzip_data *bd) FAST_FUNC;
113 113
114typedef struct inflate_unzip_result { 114typedef struct inflate_unzip_result {
115 off_t bytes_out; 115 off_t bytes_out;
116 uint32_t crc; 116 uint32_t crc;
117} inflate_unzip_result; 117} inflate_unzip_result;
118 118
119extern USE_DESKTOP(long long) int unpack_bz2_stream(int src_fd, int dst_fd); 119extern USE_DESKTOP(long long) int unpack_bz2_stream(int src_fd, int dst_fd) FAST_FUNC;
120extern USE_DESKTOP(long long) int inflate_unzip(inflate_unzip_result *res, off_t compr_size, int src_fd, int dst_fd); 120extern USE_DESKTOP(long long) int inflate_unzip(inflate_unzip_result *res, off_t compr_size, int src_fd, int dst_fd) FAST_FUNC;
121extern USE_DESKTOP(long long) int unpack_gz_stream(int src_fd, int dst_fd); 121extern USE_DESKTOP(long long) int unpack_gz_stream(int src_fd, int dst_fd) FAST_FUNC;
122extern USE_DESKTOP(long long) int unpack_lzma_stream(int src_fd, int dst_fd); 122extern USE_DESKTOP(long long) int unpack_lzma_stream(int src_fd, int dst_fd) FAST_FUNC;
123 123
124#if BB_MMU 124#if BB_MMU
125extern int open_transformer(int src_fd, 125extern int open_transformer(int src_fd,
126 USE_DESKTOP(long long) int (*transformer)(int src_fd, int dst_fd)); 126 USE_DESKTOP(long long) int FAST_FUNC (*transformer)(int src_fd, int dst_fd)) FAST_FUNC;
127#define open_transformer(src_fd, transformer, transform_prog) open_transformer(src_fd, transformer) 127#define open_transformer(src_fd, transformer, transform_prog) open_transformer(src_fd, transformer)
128#else 128#else
129extern int open_transformer(int src_fd, const char *transform_prog); 129extern int open_transformer(int src_fd, const char *transform_prog) FAST_FUNC;
130#define open_transformer(src_fd, transformer, transform_prog) open_transformer(src_fd, transform_prog) 130#define open_transformer(src_fd, transformer, transform_prog) open_transformer(src_fd, transform_prog)
131#endif 131#endif
132 132