]> Dogcows Code - chaz/tar/blobdiff - src/common.h
Keep a detailed map of archive members stored in the record buffer.
[chaz/tar] / src / common.h
index 271211592eaa395b0d9a05ca9a493da596410a45..bc1f3a2585b85709296facadf1029ed2c659b0fb 100644 (file)
@@ -1,7 +1,7 @@
 /* Common declarations for the tar program.
 
    Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001,
-   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, 
+   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
@@ -105,6 +105,8 @@ GLOBAL bool absolute_names_option;
 
 /* Display file times in UTC */
 GLOBAL bool utc_option;
+/* Output file timestamps to the full resolution */
+GLOBAL bool full_time_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.
@@ -335,12 +337,12 @@ struct name
     int matching_flags;         /* wildcard flags if name is a pattern */
     bool cmdline;               /* true if this name was given in the
                                   command line */
-    
+
     int change_dir;            /* Number of the directory to change to.
                                   Set with the -C option. */
     uintmax_t found_count;     /* number of times a matching file has
                                   been found */
-    
+
     /* The following members are used for incremental dumps only,
        if this struct name represents a directory;
        see incremen.c */
@@ -425,9 +427,10 @@ void archive_read_error (void);
 off_t seek_archive (off_t size);
 void set_start_time (void);
 
-void mv_begin (struct tar_stat_info *st);
+void mv_begin_write (const char *file_name, off_t totsize, off_t sizeleft);
+
+void mv_begin_read (struct tar_stat_info *st);
 void mv_end (void);
-void mv_total_size (off_t size);
 void mv_size_left (off_t size);
 
 void buffer_write_global_xheader (void);
@@ -463,7 +466,7 @@ void exclusion_tag_warning (const char *dirname, const char *tagname,
                            const char *message);
 enum exclusion_tag_type check_exclusion_tags (const char *dirname,
                                              const char **tag_file_name);
-     
+
 #define GID_TO_CHARS(val, where) gid_to_chars (val, where, sizeof (where))
 #define MAJOR_TO_CHARS(val, where) major_to_chars (val, where, sizeof (where))
 #define MINOR_TO_CHARS(val, where) minor_to_chars (val, where, sizeof (where))
@@ -548,6 +551,17 @@ enum read_header
   HEADER_FAILURE               /* ill-formed header, or bad checksum */
 };
 
+/* Operation mode for read_header: */
+
+enum read_header_mode
+{
+  read_header_auto,             /* process extended headers automatically */
+  read_header_x_raw,            /* return raw extended headers (return
+                                  HEADER_SUCCESS_EXTENDED) */
+  read_header_x_global          /* when POSIX global extended header is read,
+                                  decode it and return
+                                  HEADER_SUCCESS_EXTENDED */
+};
 extern union block *current_header;
 extern enum archive_format current_format;
 extern size_t recent_long_name_blocks;
@@ -586,7 +600,7 @@ void print_header (struct tar_stat_info *st, union block *blk,
 void read_and (void (*do_something) (void));
 enum read_header read_header (union block **return_block,
                              struct tar_stat_info *info,
-                             bool raw_extended_headers);
+                             enum read_header_mode m);
 enum read_header tar_checksum (union block *header, bool silent);
 void skip_file (off_t size);
 void skip_member (void);
@@ -679,6 +693,7 @@ struct name *addname (char const *string, int change_dir,
 void remname (struct name *name);
 bool name_match (const char *name);
 void names_notfound (void);
+void label_notfound (void);
 void collect_and_sort_names (void);
 struct name *name_scan (const char *name);
 struct name const *name_from_list (void);
@@ -845,4 +860,3 @@ void finish_deferred_unlinks (void);
 
 /* Module exit.c */
 extern void (*fatal_exit_hook) (void);
-
This page took 0.024063 seconds and 4 git commands to generate.