summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDenis Vlasenko2007-04-10 21:40:19 +0000
committerDenis Vlasenko2007-04-10 21:40:19 +0000
commitc6758a07c68033627a692cda27aebc8f6a662e7f (patch)
tree51bc0b498a5e16f8041604d913e25708cc76058f /include
parent335b63d8d1876ce4e172ebcc9d64544785682244 (diff)
downloadbusybox-c6758a07c68033627a692cda27aebc8f6a662e7f.zip
busybox-c6758a07c68033627a692cda27aebc8f6a662e7f.tar.gz
make compressed help code NOMMU- and NOFORK-friendly -
no forking anymore, bunzip2 unpack routine now does all it in memory.
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h5
-rw-r--r--include/unarchive.h5
2 files changed, 8 insertions, 2 deletions
diff --git a/include/libbb.h b/include/libbb.h
index 6fff441..2be1389 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -403,9 +403,10 @@ extern char *xasprintf(const char *format, ...) __attribute__ ((format (printf,
/* dmalloc will redefine these to it's own implementation. It is safe
* to have the prototypes here unconditionally. */
+extern void *malloc_or_warn(size_t size);
extern void *xmalloc(size_t size);
-extern void *xrealloc(void *old, size_t size);
extern void *xzalloc(size_t size);
+extern void *xrealloc(void *old, size_t size);
extern ssize_t safe_read(int fd, void *buf, size_t count);
extern ssize_t full_read(int fd, void *buf, size_t count);
@@ -862,7 +863,7 @@ void md5_begin(md5_ctx_t *ctx);
void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
void *md5_end(void *resbuf, md5_ctx_t *ctx);
-uint32_t *crc32_filltable(int endian);
+uint32_t *crc32_filltable(uint32_t *tbl256, int endian);
enum { /* DO NOT CHANGE THESE VALUES! cp.c, mv.c, install.c depend on them. */
diff --git a/include/unarchive.h b/include/unarchive.h
index 36b56a9..8aa90be 100644
--- a/include/unarchive.h
+++ b/include/unarchive.h
@@ -102,6 +102,11 @@ extern const llist_t *find_list_entry(const llist_t *list, const char *filename)
extern const llist_t *find_list_entry2(const llist_t *list, const char *filename);
extern USE_DESKTOP(long long) int uncompressStream(int src_fd, int dst_fd);
+/* A bit of bunzip2 internals are exposed for compressed help support: */
+typedef struct bunzip_data bunzip_data;
+int start_bunzip(bunzip_data **bdp, int in_fd, const unsigned char *inbuf, int len);
+int read_bunzip(bunzip_data *bd, char *outbuf, int len);
+void dealloc_bunzip(bunzip_data *bd);
typedef struct inflate_unzip_result {
off_t bytes_out;