X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libbb%2Flibbb.h;h=a9c1a870f7f670896804a8daea100ff451178064;hb=6fc92a506ab3c490a4dc028334c908f19c0d0806;hp=3b0ced7d1c1b28d87cf6c031aa731821918bcfa3;hpb=78b0e379d7c2db84eec34ccd89cf9afb67b94901;p=oweals%2Fbusybox.git diff --git a/libbb/libbb.h b/libbb/libbb.h index 3b0ced7d1..a9c1a870f 100644 --- a/libbb/libbb.h +++ b/libbb/libbb.h @@ -212,9 +212,19 @@ char *xreadlink(const char *path); char *concat_path_file(const char *path, const char *filename); char *last_char_is(const char *s, int c); -void *get_header_ar(FILE *in_file); -void *get_header_cpio(FILE *src_stream); -void *get_header_tar(FILE *tar_stream); +typedef struct file_headers_s { + char *name; + char *link_name; + off_t size; + uid_t uid; + gid_t gid; + mode_t mode; + time_t mtime; + dev_t device; +} file_header_t; +file_header_t *get_header_ar(FILE *in_file); +file_header_t *get_header_cpio(FILE *src_stream); +file_header_t *get_header_tar(FILE *tar_stream); enum extract_functions_e { extract_verbose_list = 1, @@ -227,9 +237,11 @@ enum extract_functions_e { extract_control_tar_gz = 128, extract_unzip_only = 256, extract_unconditional = 512, - extract_create_leading_dirs = 1024 + extract_create_leading_dirs = 1024, + extract_quiet = 2048, + extract_exclude_list = 4096 }; -char *unarchive(FILE *src_stream, void *(*get_header)(FILE *), +char *unarchive(FILE *src_stream, FILE *out_stream, file_header_t *(*get_header)(FILE *), const int extract_function, const char *prefix, char **extract_names); char *deb_extract(const char *package_filename, FILE *out_stream, const int extract_function, const char *prefix, const char *filename); @@ -241,13 +253,10 @@ extern void gz_close(int gunzip_pid); extern FILE *gz_open(FILE *compressed_file, int *pid); extern struct hostent *xgethostbyname(const char *name); +extern int create_icmp_socket(void); char *dirname (const char *path); -static inline char *strdup_substr (const char *s, int start, int end) -{ - return xstrndup (s+start, end-start); -} int make_directory (char *path, mode_t mode, int flags); #define CT_AUTO 0 @@ -277,5 +286,6 @@ extern const char * const write_error; extern const char * const too_few_args; extern const char * const name_longer_than_foo; extern const char * const unknown; +extern const char * const can_not_create_raw_socket; #endif /* __LIBBB_H__ */