]> Dogcows Code - chaz/tar/blobdiff - src/common.h
Recode NEWS back to UTF-8
[chaz/tar] / src / common.h
index 2af403c102535725e4279b2526242071edd5b3b1..3b91f464c5a62d0f39779e327d3b76e8c36a3d5d 100644 (file)
@@ -85,7 +85,8 @@ enum subcommand
   DIFF_SUBCOMMAND,             /* -d */
   EXTRACT_SUBCOMMAND,          /* -x */
   LIST_SUBCOMMAND,             /* -t */
-  UPDATE_SUBCOMMAND            /* -u */
+  UPDATE_SUBCOMMAND,           /* -u */
+  TEST_LABEL_SUBCOMMAND,        /* --test-label */
 };
 
 GLOBAL enum subcommand subcommand_option;
@@ -104,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.
@@ -362,8 +365,6 @@ GLOBAL dev_t root_device;
 /* Unquote filenames */
 GLOBAL bool unquote_option;
 
-GLOBAL bool test_label_option; /* Test archive volume label and exit */
-
 /* Show file or archive names after transformation.
    In particular, when creating archive in verbose mode, list member names
    as stored in the archive */
@@ -403,6 +404,8 @@ extern uintmax_t continued_file_size;
 extern uintmax_t continued_file_offset;
 extern off_t records_written;
 
+char *drop_volume_label_suffix (const char *label);
+
 size_t available_space_after (union block *pointer);
 off_t current_block_ordinal (void);
 void close_archive (void);
@@ -547,6 +550,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;
@@ -578,13 +592,14 @@ uid_t uid_from_header (const char *buf, size_t size);
 uintmax_t uintmax_from_header (const char *buf, size_t size);
 
 void list_archive (void);
+void test_archive_label (void);
 void print_for_mkdir (char *dirname, int length, mode_t mode);
 void print_header (struct tar_stat_info *st, union block *blk,
                   off_t block_ordinal);
 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);
This page took 0.022815 seconds and 4 git commands to generate.