X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fcommon.h;h=21e4c557f2476c2a749c66c7b155c3f7d68eb048;hb=fc264a87a852ddb6a9d06cdc418680d02a0a74f3;hp=e1fe91aa946e21de320d5483b71ea629875aa0b0;hpb=1c623b11f6edde8f77aea43f5a619c2a837cc400;p=chaz%2Ftar diff --git a/src/common.h b/src/common.h index e1fe91a..21e4c55 100644 --- a/src/common.h +++ b/src/common.h @@ -251,9 +251,9 @@ GLOBAL int same_owner_option; /* If positive, preserve permissions when extracting. */ GLOBAL int same_permissions_option; -/* When set, strip the given number of path elements from the file name +/* When set, strip the given number of file name components from the file name before extracting */ -GLOBAL size_t strip_path_elements; +GLOBAL size_t strip_name_components; GLOBAL bool show_omitted_dirs_option; @@ -331,6 +331,10 @@ struct name GLOBAL dev_t ar_dev; GLOBAL ino_t ar_ino; +GLOBAL bool seekable_archive; + +GLOBAL dev_t root_device; + /* Declarations for each module. */ @@ -370,6 +374,8 @@ void clear_read_error_count (void); void xclose (int fd); void archive_write_error (ssize_t) __attribute__ ((noreturn)); void archive_read_error (void); +off_t seek_archive (off_t size); +void set_start_time (void); /* Module create.c. */ @@ -440,7 +446,7 @@ void delete_archive_members (void); char *get_directory_contents (char *, dev_t); void read_directory_file (void); void write_directory_file (void); -void gnu_restore (char const *); +void purge_directory (char const *); /* Module list.c. */ @@ -581,6 +587,8 @@ void write_fatal_details (char const *, ssize_t, size_t) pid_t xfork (void); void xpipe (int[2]); +void *page_aligned_alloc (void **, size_t); + /* Module names.c. */ extern struct name *gnu_list_name; @@ -616,6 +624,8 @@ bool is_avoided_name (char const *); bool contains_dot_dot (char const *); +bool removed_prefixes_p (void); + #define ISFOUND(c) ((occurrence_option == 0) ? (c)->found_count : \ (c)->found_count == occurrence_option) #define WASFOUND(c) ((occurrence_option == 0) ? (c)->found_count : \