summaryrefslogtreecommitdiff
path: root/include/unarchive.h
diff options
context:
space:
mode:
authorDenis Vlasenko2008-11-01 12:54:56 +0000
committerDenis Vlasenko2008-11-01 12:54:56 +0000
commit1a9e9bdd93b06508b70bd29ef5eeb82f91d86222 (patch)
treeadcf234f48d8a68a5644f1504cc93025d58ce2a2 /include/unarchive.h
parent5a89763fb7e57d4fc3d393eafa35c58f8285a083 (diff)
downloadbusybox-1a9e9bdd93b06508b70bd29ef5eeb82f91d86222.zip
busybox-1a9e9bdd93b06508b70bd29ef5eeb82f91d86222.tar.gz
gunzip: restore mtime. approx +80 bytes of code
rpm: make code more robust lsmod: small code shrink
Diffstat (limited to 'include/unarchive.h')
-rw-r--r--include/unarchive.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/unarchive.h b/include/unarchive.h
index 7ff791b..9077130 100644
--- a/include/unarchive.h
+++ b/include/unarchive.h
@@ -77,6 +77,12 @@ typedef struct archive_handle_t {
} archive_handle_t;
+/* Info struct unpackers can fill out to inform users of thing like
+ * timestamps of unpacked files */
+typedef struct unpack_info_t {
+ time_t mtime;
+} unpack_info_t;
+
extern archive_handle_t *init_handle(void) FAST_FUNC;
extern char filter_accept_all(archive_handle_t *archive_handle) FAST_FUNC;
@@ -126,10 +132,15 @@ USE_DESKTOP(long long) int unpack_lzma_stream(int src_fd, int dst_fd) FAST_FUNC;
/* the rest wants 2 first bytes already skipped by the caller */
USE_DESKTOP(long long) int unpack_bz2_stream(int src_fd, int dst_fd) FAST_FUNC;
USE_DESKTOP(long long) int unpack_gz_stream(int src_fd, int dst_fd) FAST_FUNC;
+USE_DESKTOP(long long) int unpack_gz_stream_with_info(int src_fd, int dst_fd, unpack_info_t *info) FAST_FUNC;
USE_DESKTOP(long long) int unpack_Z_stream(int fd_in, int fd_out) FAST_FUNC;
/* wrapper which checks first two bytes to be "BZ" */
USE_DESKTOP(long long) int unpack_bz2_stream_prime(int src_fd, int dst_fd) FAST_FUNC;
+int bbunpack(char **argv,
+ char* (*make_new_name)(char *filename),
+ USE_DESKTOP(long long) int (*unpacker)(unpack_info_t *info)) FAST_FUNC;
+
#if BB_MMU
void open_transformer(int fd,
USE_DESKTOP(long long) int FAST_FUNC (*transformer)(int src_fd, int dst_fd)) FAST_FUNC;