]> Dogcows Code - chaz/tar/blobdiff - src/common.h
tar: remove unused externs, or make them static
[chaz/tar] / src / common.h
index 0b9bd7a1273b5c76218863ffabbfa52097a42d12..18f7bc60eee3bca1a32c5e41096dd0a40c18577b 100644 (file)
@@ -1,8 +1,8 @@
 /* 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,
-   Inc.
+   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
+   Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
@@ -91,6 +91,11 @@ enum subcommand
 
 GLOBAL enum subcommand subcommand_option;
 
+#define READ_LIKE_SUBCOMMAND                    \
+  (subcommand_option == EXTRACT_SUBCOMMAND      \
+   || subcommand_option == DIFF_SUBCOMMAND      \
+   || subcommand_option == LIST_SUBCOMMAND)
+
 /* Selected format for output archive.  */
 GLOBAL enum archive_format archive_format;
 
@@ -138,9 +143,6 @@ GLOBAL const char *use_compress_program_option;
 GLOBAL bool dereference_option;
 GLOBAL bool hard_dereference_option;
 
-/* Print a message if not all links are dumped */
-GLOBAL int check_links_option;
-
 /* Patterns that match file names to be excluded.  */
 GLOBAL struct exclude *excluded;
 
@@ -158,7 +160,8 @@ enum exclusion_tag_type
   };
 
 /* Specified value to be put into tar file in place of stat () results, or
-   just -1 if such an override should not take place.  */
+   just null and -1 if such an override should not take place.  */
+GLOBAL char const *group_name_option;
 GLOBAL gid_t group_option;
 
 GLOBAL bool ignore_failed_read_option;
@@ -182,6 +185,7 @@ enum old_files
   OVERWRITE_OLD_FILES,        /* --overwrite */
   UNLINK_FIRST_OLD_FILES,     /* --unlink-first */
   KEEP_OLD_FILES,             /* --keep-old-files */
+  SKIP_OLD_FILES,             /* --skip-old-files */
   KEEP_NEWER_FILES           /* --keep-newer-files */
 };
 GLOBAL enum old_files old_files_option;
@@ -230,7 +234,8 @@ GLOBAL bool numeric_owner_option;
 GLOBAL bool one_file_system_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.  */
+   just null and -1 if such an override should not take place.  */
+GLOBAL char const *owner_name_option;
 GLOBAL uid_t owner_option;
 
 GLOBAL bool recursive_unlink_option;
@@ -239,9 +244,6 @@ GLOBAL bool read_full_records_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;
 
@@ -253,6 +255,15 @@ GLOBAL int same_owner_option;
 /* If positive, preserve permissions when extracting.  */
 GLOBAL int same_permissions_option;
 
+/* If positive, save the SELinux context.  */
+GLOBAL int selinux_context_option;
+
+/* If positive, save the ACLs.  */
+GLOBAL int acls_option;
+
+/* If positive, save the user and root xattrs.  */
+GLOBAL int xattrs_option;
+
 /* When set, strip the given number of file name components from the file name
    before extracting */
 GLOBAL size_t strip_name_components;
@@ -313,11 +324,10 @@ GLOBAL struct timespec last_stat_time;    /* when the statistics was last
 
 GLOBAL struct tar_stat_info current_stat_info;
 
-/* List of tape drive names, number of such tape drives, allocated number,
+/* List of tape drive names, number of such tape drives,
    and current cursor in list.  */
 GLOBAL const char **archive_name_array;
 GLOBAL size_t archive_names;
-GLOBAL size_t allocated_archive_names;
 GLOBAL const char **archive_name_cursor;
 
 /* Output index file name.  */
@@ -522,6 +532,7 @@ void update_parent_directory (struct tar_stat_info *st);
 
 size_t dumpdir_size (const char *p);
 bool is_dumpdir (struct tar_stat_info *stat_info);
+void clear_directory_table (void);
 
 /* Module list.c.  */
 
@@ -617,6 +628,9 @@ void undo_last_backup (void);
 
 int deref_stat (char const *name, struct stat *buf);
 
+size_t blocking_read (int fd, void *buf, size_t count);
+size_t blocking_write (int fd, void const *buf, size_t count);
+
 extern int chdir_current;
 extern int chdir_fd;
 int chdir_arg (char const *dir);
@@ -707,6 +721,9 @@ extern char *output_start;
 
 void update_archive (void);
 
+/* Module attrs.c.  */
+#include "xattrs.h"
+
 /* Module xheader.c.  */
 
 void xheader_decode (struct tar_stat_info *stat);
@@ -727,6 +744,12 @@ bool xheader_string_end (struct xheader *xhdr, 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 xheader_xattr_init (struct tar_stat_info *st);
+void xheader_xattr_free (struct xattr_array *vals, size_t sz);
+void xheader_xattr_copy (const struct tar_stat_info *st,
+                         struct xattr_array **vals, size_t *sz);
+void xheader_xattr_add (struct tar_stat_info *st,
+                        const char *key, const char *val, size_t len);
 
 /* Module system.c */
 
@@ -751,7 +774,8 @@ void sys_exec_checkpoint_script (const char *script_name,
                                 int checkpoint_number);
 
 /* Module compare.c */
-void report_difference (struct tar_stat_info *st, const char *message, ...);
+void report_difference (struct tar_stat_info *st, const char *message, ...)
+  __attribute__ ((format (printf, 2, 3)));
 
 /* Module sparse.c */
 bool sparse_member_p (struct tar_stat_info *st);
@@ -807,11 +831,13 @@ void checkpoint_run (bool do_write);
 #define WARN_UNKNOWN_KEYWORD     0x00020000
 #define WARN_XDEV                0x00040000
 #define WARN_DECOMPRESS_PROGRAM  0x00080000
+#define WARN_EXISTING_FILE       0x00100000
+#define WARN_XATTR_WRITE         0x00200000
 
 /* The warnings composing WARN_VERBOSE_WARNINGS are enabled by default
    in verbose mode */
 #define WARN_VERBOSE_WARNINGS    (WARN_RENAME_DIRECTORY|WARN_NEW_DIRECTORY|\
-                                 WARN_DECOMPRESS_PROGRAM)
+                                 WARN_DECOMPRESS_PROGRAM|WARN_EXISTING_FILE)
 #define WARN_ALL                 (~WARN_VERBOSE_WARNINGS)
 
 void set_warning_option (const char *arg);
This page took 0.025082 seconds and 4 git commands to generate.