/* Some various global definitions. */
/* Name of file to use for interacting with user. */
-#if MSDOS
-# define TTY_NAME "con"
-#else
-# define TTY_NAME "/dev/tty"
-#endif
/* GLOBAL is defined to empty in tar.c only, and left alone in other *.c
modules. Here, we merely set it to "extern" if it is not already set.
/* Specified file containing names to work on. */
GLOBAL const char *files_from_option;
-GLOBAL bool force_local_option;
-
/* Specified value to be put into tar file in place of stat () results, or
just -1 if such an override should not take place. */
GLOBAL gid_t group_option;
GLOBAL bool remove_files_option;
+/* Specified rmt command. */
+GLOBAL const char *rmt_command_option;
+
/* Specified remote shell command. */
GLOBAL const char *rsh_command_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;
GLOBAL dev_t ar_dev;
GLOBAL ino_t ar_ino;
+GLOBAL bool seekable_archive;
+
+GLOBAL dev_t root_device;
+
\f
/* Declarations for each module. */
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. */
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. */
pid_t xfork (void);
void xpipe (int[2]);
+void *page_aligned_alloc (void **, size_t);
+
/* Module names.c. */
extern struct name *gnu_list_name;
void add_avoided_name (char const *);
bool is_avoided_name (char const *);
+bool is_individual_file (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 : \
bool sys_file_is_archive (struct tar_stat_info *p);
bool sys_compare_links (struct stat *link_data, struct stat *stat_data);
int sys_truncate (int fd);
-void sys_reset_uid_gid (void);
pid_t sys_child_open_for_compress (void);
pid_t sys_child_open_for_uncompress (void);
-void sys_reset_uid_gid (void);
size_t sys_write_archive_buffer (void);
bool sys_get_archive_stat (void);
-void sys_reset_uid_gid (void);
/* Module compare.c */
void report_difference (struct tar_stat_info *st, const char *message, ...);