]> Dogcows Code - chaz/tar/blobdiff - src/common.h
(buffer_write_global_xheader): New function
[chaz/tar] / src / common.h
index fd020d35f02df99eacdc0230cf69b41c5f137e6f..24aa91df4983247125405e60e2fce31ea4242d24 100644 (file)
@@ -160,7 +160,7 @@ enum exclusion_tag_type
        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
@@ -416,6 +416,7 @@ void mv_end (void);
 void mv_total_size (off_t size);
 void mv_size_left (off_t size);
 
+void buffer_write_global_xheader (void);
 
 /* Module create.c.  */
 
@@ -512,14 +513,6 @@ enum read_header
   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;
@@ -592,7 +585,6 @@ void undo_last_backup (void);
 
 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);
 
@@ -676,23 +668,22 @@ void update_archive (void);
 
 /* Module xheader.c.  */
 
+void xheader_init (struct xheader *xhdr);
 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 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_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_write (char type, char *name, struct xheader *xhdr);
-void xheader_write_global (void);
 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);
@@ -736,4 +727,5 @@ bool utf8_convert (bool to_utf, char const *input, char **output);
 /* Module transform.c */
 void set_transform_expr (const char *expr);
 bool transform_name (char **pinput);
-bool transform_name_fp (char **pinput, char *(*fun)(char *));
+bool transform_member_name (char **pinput, bool lnk);
+bool transform_name_fp (char **pinput, char *(*fun)(char *, void *), void *);
This page took 0.021498 seconds and 4 git commands to generate.