]> Dogcows Code - chaz/tar/blobdiff - src/common.h
(exclusion_tag_warning, check_exclusion_tags): Remove static qualifier.
[chaz/tar] / src / common.h
index a37488a9709ecad01ca1cfe9ea62d242e36aa3d9..b158a373b0b3b330a3fbb2200ac2e05e8ef67254 100644 (file)
@@ -5,7 +5,7 @@
 
    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
 
    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
-   Free Software Foundation; either version 2, or (at your option) any later
+   Free Software Foundation; either version 3, or (at your option) any later
    version.
 
    This program is distributed in the hope that it will be useful, but
    version.
 
    This program is distributed in the hope that it will be useful, but
@@ -160,7 +160,7 @@ enum exclusion_tag_type
        itself */
     exclusion_tag_under,
     /* Exclude entire directory  */
        itself */
     exclusion_tag_under,
     /* Exclude entire directory  */
-    exclusion_tag_all,   
+    exclusion_tag_all,
   };
 
 /* Specified value to be put into tar file in place of stat () results, or
   };
 
 /* Specified value to be put into tar file in place of stat () results, or
@@ -416,6 +416,7 @@ void mv_end (void);
 void mv_total_size (off_t size);
 void mv_size_left (off_t size);
 
 void mv_total_size (off_t size);
 void mv_size_left (off_t size);
 
+void buffer_write_global_xheader (void);
 
 /* Module create.c.  */
 
 
 /* Module create.c.  */
 
@@ -444,7 +445,11 @@ union block * write_extended (bool global, struct tar_stat_info *st,
 union block *start_private_header (const char *name, size_t size);
 void write_eot (void);
 void check_links (void);
 union block *start_private_header (const char *name, size_t size);
 void write_eot (void);
 void check_links (void);
-
+void exclusion_tag_warning (const char *dirname, const char *tagname,
+                           const char *message);
+enum exclusion_tag_type check_exclusion_tags (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))
 #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))
@@ -512,14 +517,6 @@ enum read_header
   HEADER_FAILURE               /* ill-formed header, or bad checksum */
 };
 
   HEADER_FAILURE               /* ill-formed header, or bad checksum */
 };
 
-struct xheader
-{
-  struct obstack *stk;
-  size_t size;
-  char *buffer;
-};
-
-GLOBAL struct xheader extended_header;
 extern union block *current_header;
 extern enum archive_format current_format;
 extern size_t recent_long_name_blocks;
 extern union block *current_header;
 extern enum archive_format current_format;
 extern size_t recent_long_name_blocks;
@@ -592,7 +589,6 @@ void undo_last_backup (void);
 
 int deref_stat (bool deref, char const *name, struct stat *buf);
 
 
 int deref_stat (bool deref, char const *name, struct stat *buf);
 
-void closeopen (void);
 int chdir_arg (char const *dir);
 void chdir_do (int dir);
 
 int chdir_arg (char const *dir);
 void chdir_do (int dir);
 
@@ -676,23 +672,22 @@ void update_archive (void);
 
 /* Module xheader.c.  */
 
 
 /* Module xheader.c.  */
 
+void xheader_init (struct xheader *xhdr);
 void xheader_decode (struct tar_stat_info *stat);
 void xheader_decode (struct tar_stat_info *stat);
-void xheader_decode_global (void);
-void xheader_store (char const *keyword, struct tar_stat_info const *st,
+void xheader_decode_global (struct xheader *xhdr);
+void xheader_store (char const *keyword, struct tar_stat_info *st,
                    void const *data);
                    void const *data);
-void xheader_read (union block *header, size_t size);
+void xheader_read (struct xheader *xhdr, union block *header, size_t size);
 void xheader_write (char type, char *name, struct xheader *xhdr);
 void xheader_write (char type, char *name, struct xheader *xhdr);
-void xheader_write_global (void);
+void xheader_write_global (struct xheader *xhdr);
 void xheader_finish (struct xheader *hdr);
 void xheader_destroy (struct xheader *hdr);
 char *xheader_xhdr_name (struct tar_stat_info *st);
 char *xheader_ghdr_name (void);
 void xheader_finish (struct xheader *hdr);
 void xheader_destroy (struct xheader *hdr);
 char *xheader_xhdr_name (struct tar_stat_info *st);
 char *xheader_ghdr_name (void);
-void xheader_write (char type, char *name, struct xheader *xhdr);
-void xheader_write_global (void);
 void xheader_set_option (char *string);
 void xheader_set_option (char *string);
-void xheader_string_begin (void);
-void xheader_string_add (char const *s);
-bool xheader_string_end (char const *keyword);
+void xheader_string_begin (struct xheader *xhdr);
+void xheader_string_add (struct xheader *xhdr, char const *s);
+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);
 bool xheader_keyword_deleted_p (const char *kw);
 char *xheader_format_name (struct tar_stat_info *st, const char *fmt,
                           size_t n);
@@ -734,7 +729,14 @@ bool string_ascii_p (const char *str);
 bool utf8_convert (bool to_utf, char const *input, char **output);
 
 /* Module transform.c */
 bool utf8_convert (bool to_utf, char const *input, char **output);
 
 /* Module transform.c */
+typedef enum
+  {
+    xform_regfile,
+    xform_link,
+    xform_symlink
+  } xform_type;
+
 void set_transform_expr (const char *expr);
 bool transform_name (char **pinput);
 void set_transform_expr (const char *expr);
 bool transform_name (char **pinput);
-bool transform_member_name (char **pinput, bool lnk);
+bool transform_member_name (char **pinput, xform_type type);
 bool transform_name_fp (char **pinput, char *(*fun)(char *, void *), void *);
 bool transform_name_fp (char **pinput, char *(*fun)(char *, void *), void *);
This page took 0.02819 seconds and 4 git commands to generate.