do not get archived (also see after_date_option above). */
GLOBAL struct timespec newer_mtime_option;
+/* If true, override actual mtime (see below) */
+GLOBAL bool set_mtime_option;
+/* Value to be put in mtime header field instead of the actual mtime */
+GLOBAL struct timespec mtime_option;
+
/* Return true if newer_mtime_option is initialized. */
#define NEWER_OPTION_INITIALIZED(opt) (0 <= (opt).tv_nsec)
GLOBAL bool show_omitted_dirs_option;
GLOBAL bool sparse_option;
-
+GLOBAL unsigned tar_sparse_major;
+GLOBAL unsigned tar_sparse_minor;
+
GLOBAL bool starting_file_option;
/* Specified maximum byte length of each tape volume (multiple of 1024). */
off_t current_block_ordinal (void);
void close_archive (void);
void closeout_volume_number (void);
+void compute_duration (void);
union block *find_next_block (void);
void flush_read (void);
void flush_write (void);
void uid_to_uname (uid_t uid, char **uname);
int uname_to_uid (char const *uname, uid_t *puid);
-void init_names (void);
+void name_init (void);
void name_add_name (const char *name, int matching_flags);
void name_add_dir (const char *name);
void name_term (void);
void xheader_set_option (char *string);
void xheader_string_begin (void);
void xheader_string_add (char const *s);
-void xheader_string_end (char const *keyword);
+bool xheader_string_end (char const *keyword);
bool xheader_keyword_deleted_p (const char *kw);
char *xheader_format_name (struct tar_stat_info *st, const char *fmt,
size_t n);
void report_difference (struct tar_stat_info *st, const char *message, ...);
/* Module sparse.c */
-bool sparse_file_p (struct tar_stat_info *st);
bool sparse_member_p (struct tar_stat_info *st);
bool sparse_fixup_header (struct tar_stat_info *st);
enum dump_status sparse_dump_file (int, struct tar_stat_info *st);