]> Dogcows Code - chaz/tar/blobdiff - src/common.h
Removed unused variables
[chaz/tar] / src / common.h
index d9ea6bc435517ab3498495d1184db8d929cfc746..02693ff4174c062608913b3427fc28da5e3dbbd5 100644 (file)
@@ -128,6 +128,9 @@ GLOBAL size_t record_size;
 
 GLOBAL bool absolute_names_option;
 
+/* Display file times in UTC */
+GLOBAL bool utc_option;
+
 /* This variable tells how to interpret newer_mtime_option, below.  If zero,
    files get archived if their mtime is not less than newer_mtime_option.
    If nonzero, files get archived if *either* their ctime or mtime is not less
@@ -181,11 +184,12 @@ GLOBAL uintmax_t occurrence_option;
 
 enum old_files
 {
-  DEFAULT_OLD_FILES, /* default */
+  DEFAULT_OLD_FILES,          /* default */
   NO_OVERWRITE_DIR_OLD_FILES, /* --no-overwrite-dir */
-  OVERWRITE_OLD_FILES, /* --overwrite */
-  UNLINK_FIRST_OLD_FILES, /* --unlink-first */
-  KEEP_OLD_FILES /* --keep-old-files */
+  OVERWRITE_OLD_FILES,        /* --overwrite */
+  UNLINK_FIRST_OLD_FILES,     /* --unlink-first */
+  KEEP_OLD_FILES,             /* --keep-old-files */
+  KEEP_NEWER_FILES,           /* --keep-newer-files */
 };
 GLOBAL enum old_files old_files_option;
 
@@ -309,17 +313,6 @@ struct name
     char name[1];
   };
 
-/* Information about a sparse file.  */
-struct sp_array
-  {
-    off_t offset;
-    size_t numbytes;
-  };
-GLOBAL struct sp_array *sparsearray;
-
-/* Number of elements in sparsearray.  */
-GLOBAL int sp_array_size;
-
 /* Obnoxious test to see if dimwit is trying to dump the archive.  */
 GLOBAL dev_t ar_dev;
 GLOBAL ino_t ar_ino;
@@ -366,10 +359,22 @@ void archive_read_error (void);
 
 /* Module create.c.  */
 
+enum dump_status
+  {
+    dump_status_ok,
+    dump_status_short,
+    dump_status_fail,
+    dump_status_not_implemented
+  };
+
+bool file_dumpable_p (struct tar_stat_info *stat);
 void create_archive (void);
+void pad_archive (off_t size_left);
 void dump_file (char *, int, dev_t);
-void finish_header (union block *, off_t);
-void init_sparsearray (void);
+union block *start_header (struct tar_stat_info *st);
+void finish_header (struct tar_stat_info *, union block *, off_t);
+void simple_finish_header (union block *header);
+union block *start_private_header (const char *name, size_t size);
 void write_eot (void);
 void check_links (void);
 
@@ -408,7 +413,6 @@ void verify_volume (void);
 
 extern bool we_are_root;
 void extr_init (void);
-bool fill_in_sparse_array (void);
 void extract_archive (void);
 void extract_finish (void);
 void fatal_exit (void) __attribute__ ((noreturn));
@@ -478,7 +482,7 @@ uintmax_t uintmax_from_header (const char *, size_t);
 
 void list_archive (void);
 void print_for_mkdir (char *, int, mode_t);
-void print_header (off_t);
+void print_header (struct tar_stat_info *, off_t);
 void read_and (void (*) (void));
 enum read_header read_header (bool);
 void skip_file (off_t);
@@ -503,7 +507,7 @@ enum remove_option
   WANT_DIRECTORY_REMOVE_OPTION
 };
 int remove_any_file (const char *, enum remove_option);
-int maybe_backup_file (const char *, int);
+bool maybe_backup_file (const char *, int);
 void undo_last_backup (void);
 
 int deref_stat (bool, char const *, struct stat *);
@@ -518,6 +522,7 @@ void chmod_error_details (char const *, mode_t);
 void chown_error_details (char const *, uid_t, gid_t);
 void close_error (char const *);
 void close_warn (char const *);
+void close_diag (char const *name);
 void exec_fatal (char const *) __attribute__ ((noreturn));
 void link_error (char const *, char const *);
 void mkdir_error (char const *);
@@ -526,21 +531,27 @@ void mknod_error (char const *);
 void open_error (char const *);
 void open_fatal (char const *) __attribute__ ((noreturn));
 void open_warn (char const *);
+void open_diag (char const *name);
 void read_error (char const *);
 void read_error_details (char const *, off_t, size_t);
 void read_fatal (char const *) __attribute__ ((noreturn));
 void read_fatal_details (char const *, off_t, size_t);
 void read_warn_details (char const *, off_t, size_t);
+void read_diag_details (char const *name, off_t offset, size_t size);
 void readlink_error (char const *);
 void readlink_warn (char const *);
+void readlink_diag (char const *name);
 void savedir_error (char const *);
 void savedir_warn (char const *);
+void savedir_diag (char const *name);
 void seek_error (char const *);
 void seek_error_details (char const *, off_t);
 void seek_warn (char const *);
 void seek_warn_details (char const *, off_t);
+void seek_diag_details (char const *, off_t);
 void stat_error (char const *);
 void stat_warn (char const *);
+void stat_diag (char const *name);
 void symlink_error (char const *, char const *);
 void truncate_error (char const *);
 void truncate_warn (char const *);
@@ -581,7 +592,7 @@ char *name_from_list (void);
 void blank_name_list (void);
 char *new_name (const char *, const char *);
 char *safer_name_suffix (char const *, bool);
-size_t stripped_path_len (char const *file_name, size_t num);
+size_t stripped_prefix_len (char const *file_name, size_t num);
 bool all_names_found (struct tar_stat_info *);
 
 bool excluded_name (char const *);
@@ -600,7 +611,10 @@ bool contains_dot_dot (char const *);
 
 int confirm (const char *, const char *);
 void request_stdin (const char *);
-void destroy_stat (struct tar_stat_info *);
+
+void tar_stat_init (struct tar_stat_info *st);
+void tar_stat_destroy (struct tar_stat_info *st);
+void usage (int) __attribute__ ((noreturn));
 
 /* Module update.c.  */
 
@@ -611,27 +625,49 @@ void update_archive (void);
 /* Module xheader.c.  */
 
 void xheader_decode (struct tar_stat_info *);
-void xheader_store (char const *, struct tar_stat_info const *);
+void xheader_decode_global (void);
+void xheader_store (char const *, struct tar_stat_info const *, void *);
 void xheader_read (union block *, size_t);
+void xheader_write (char type, char *name, struct xheader *xhdr);
+void xheader_write_global (void);
 void xheader_finish (struct xheader *);
 void xheader_destroy (struct xheader *);
+char *xheader_xhdr_name (struct tar_stat_info *st);
+char *xheader_ghdr_name (void);
+void xheader_set_option (char *string);
 
 /* Module system.c */
 
+void sys_stat_nanoseconds (struct tar_stat_info *stat);
 void sys_detect_dev_null_output (void);
 void sys_save_archive_dev_ino (void);
 void sys_drain_input_pipe (void);
 void sys_wait_for_child (pid_t);
 void sys_spawn_shell (void);
-void sys_compare_uid_gid (struct stat *a, struct stat *b);
+bool sys_compare_uid (struct stat *a, struct stat *b);
+bool sys_compare_gid (struct stat *a, struct stat *b);
 bool sys_file_is_archive (struct tar_stat_info *p);
-void sys_compare_links (struct stat *link_data, struct stat *stat_data);
+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);
 ssize_t sys_write_archive_buffer (void);
 bool sys_get_archive_stat (void);
+void sys_reset_uid_gid (void);
 
 /* Module compare.c */
-void report_difference (const char *message, ...);
+void report_difference (struct tar_stat_info *st, const char *message, ...);
+
+/* Module sparse.c */
+bool sparse_file_p (struct tar_stat_info *stat);
+bool sparse_member_p (struct tar_stat_info *stat);
+bool sparse_fixup_header (struct tar_stat_info *stat);
+enum dump_status sparse_dump_file (int fd, struct tar_stat_info *stat);
+enum dump_status sparse_extract_file (int fd, struct tar_stat_info *stat, off_t *size);
+enum dump_status sparse_skip_file (struct tar_stat_info *stat);
+bool sparse_diff_file (int fd, struct tar_stat_info *stat);
+
+/* Module utf8.c */
+bool string_ascii_p (const char *str);
+bool utf8_convert(bool to_utf, const char *input, char **output);
This page took 0.024034 seconds and 4 git commands to generate.