]> Dogcows Code - chaz/tar/commitdiff
*** empty log message ***
authorFrançois Pinard <pinard@iro.umontreal.ca>
Wed, 16 Nov 1994 02:50:27 +0000 (02:50 +0000)
committerFrançois Pinard <pinard@iro.umontreal.ca>
Wed, 16 Nov 1994 02:50:27 +0000 (02:50 +0000)
src/tar.h

index 6e3f221baee94a2914d20730dcc222fc3dd1aeac..3b33247f8b788f3520b5c7ee2972b91794cad7b8 100644 (file)
--- a/src/tar.h
+++ b/src/tar.h
@@ -49,53 +49,60 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define SPARSE_EXT_HDR  21
 #define SPARSE_IN_HDR  4
 
-struct sparse {
-       char offset[12];
-       char numbytes[12];
-};
+struct sparse
+  {
+    char offset[12];
+    char numbytes[12];
+  };
 
-struct sp_array {
-       int offset;
-       int numbytes;
-};
+struct sp_array
+  {
+    int offset;
+    int numbytes;
+  };
 
-union record {
-       char            charptr[RECORDSIZE];
-       struct header {
-               char    arch_name[NAMSIZ];
-               char    mode[8];
-               char    uid[8];
-               char    gid[8];
-               char    size[12];
-               char    mtime[12];
-               char    chksum[8];
-               char    linkflag;
-               char    arch_linkname[NAMSIZ];
-               char    magic[8];
-               char    uname[TUNMLEN];
-               char    gname[TGNMLEN];
-               char    devmajor[8];
-               char    devminor[8];
-               /* these following fields were added by JF for gnu */
-               /* and are NOT standard */
-               char    atime[12];
-               char    ctime[12];
-               char    offset[12];
-               char    longnames[4];
+union record
+  {
+    char charptr[RECORDSIZE];
+    struct header
+      {
+       char arch_name[NAMSIZ];
+       char mode[8];
+       char uid[8];
+       char gid[8];
+       char size[12];
+       char mtime[12];
+       char chksum[8];
+       char linkflag;
+       char arch_linkname[NAMSIZ];
+       char magic[8];
+       char uname[TUNMLEN];
+       char gname[TGNMLEN];
+       char devmajor[8];
+       char devminor[8];
+       /* these following fields were added by JF for gnu */
+       /* and are NOT standard */
+       char atime[12];
+       char ctime[12];
+       char offset[12];
+       char longnames[4];
 #ifdef NEEDPAD
-               char    pad;
+       char pad;
 #endif
-               struct  sparse sp[SPARSE_IN_HDR];
-               char    isextended;
-               char    realsize[12];           /* true size of the sparse file */
-/*             char    ending_blanks[12];*/    /* number of nulls at the
+       struct sparse sp[SPARSE_IN_HDR];
+       char isextended;
+       char realsize[12];      /* true size of the sparse file */
+       /*              char    ending_blanks[12];*//* number of nulls at the
                                                   end of the file, if any */
-       } header;
-       struct extended_header {
-               struct sparse sp[21];
-               char isextended;
-       } ext_hdr;
-};
+      }
+    header;
+    struct extended_header
+      {
+       struct sparse sp[21];
+       char isextended;
+      }
+    ext_hdr;
+  };
 
 /* The checksum field is filled with this while the checksum is computed. */
 #define        CHKBLANKS       "        "      /* 8 blanks, no null */
@@ -104,137 +111,137 @@ union record {
 #define        TMAGIC          "ustar  "       /* 7 chars and a null */
 
 /* The linkflag defines the type of file */
-#define        LF_OLDNORMAL    '\0'            /* Normal disk file, Unix compat */
-#define        LF_NORMAL       '0'             /* Normal disk file */
-#define        LF_LINK         '1'             /* Link to previously dumped file */
-#define        LF_SYMLINK      '2'             /* Symbolic link */
-#define        LF_CHR          '3'             /* Character special file */
-#define        LF_BLK          '4'             /* Block special file */
-#define        LF_DIR          '5'             /* Directory */
-#define        LF_FIFO         '6'             /* FIFO special file */
-#define        LF_CONTIG       '7'             /* Contiguous file */
+#define        LF_OLDNORMAL    '\0'    /* Normal disk file, Unix compat */
+#define        LF_NORMAL       '0'     /* Normal disk file */
+#define        LF_LINK         '1'     /* Link to previously dumped file */
+#define        LF_SYMLINK      '2'     /* Symbolic link */
+#define        LF_CHR          '3'     /* Character special file */
+#define        LF_BLK          '4'     /* Block special file */
+#define        LF_DIR          '5'     /* Directory */
+#define        LF_FIFO         '6'     /* FIFO special file */
+#define        LF_CONTIG       '7'     /* Contiguous file */
 /* Further link types may be defined later. */
 
 /* Note that the standards committee allows only capital A through
    capital Z for user-defined expansion.  This means that defining something
    as, say '8' is a *bad* idea. */
-#define LF_DUMPDIR     'D'             /* This is a dir entry that contains
+#define LF_DUMPDIR     'D'     /* This is a dir entry that contains
                                           the names of files that were in
                                           the dir at the time the dump
                                           was made */
-#define LF_LONGLINK    'K'             /* Identifies the NEXT file on the tape
+#define LF_LONGLINK    'K'     /* Identifies the NEXT file on the tape
                                           as having a long linkname */
-#define LF_LONGNAME    'L'             /* Identifies the NEXT file on the tape
+#define LF_LONGNAME    'L'     /* Identifies the NEXT file on the tape
                                           as having a long name. */
-#define LF_MULTIVOL    'M'             /* This is the continuation
+#define LF_MULTIVOL    'M'     /* This is the continuation
                                           of a file that began on another
                                           volume */
-#define LF_NAMES       'N'             /* For storing filenames that didn't
+#define LF_NAMES       'N'     /* For storing filenames that didn't
                                           fit in 100 characters */
-#define LF_SPARSE      'S'             /* This is for sparse files */
-#define LF_VOLHDR      'V'             /* This file is a tape/volume header */
-                                       /* Ignore it on extraction */
+#define LF_SPARSE      'S'     /* This is for sparse files */
+#define LF_VOLHDR      'V'     /* This file is a tape/volume header */
+/* Ignore it on extraction */
 
 /*
  * Exit codes from the "tar" program
  */
-#define        EX_SUCCESS      0               /* success! */
-#define        EX_ARGSBAD      1               /* invalid args */
-#define        EX_BADFILE      2               /* invalid filename */
-#define        EX_BADARCH      3               /* bad archive */
-#define        EX_SYSTEM       4               /* system gave unexpected error */
-#define EX_BADVOL      5               /* Special error code means
+#define        EX_SUCCESS      0       /* success! */
+#define        EX_ARGSBAD      1       /* invalid args */
+#define        EX_BADFILE      2       /* invalid filename */
+#define        EX_BADARCH      3       /* bad archive */
+#define        EX_SYSTEM       4       /* system gave unexpected error */
+#define EX_BADVOL      5       /* Special error code means
                                           Tape volume doesn't match the one
                                           specified on the command line */
 
 /*
  * Global variables
  */
-TAR_EXTERN union record        *ar_block;      /* Start of block of archive */
-TAR_EXTERN union record        *ar_record;     /* Current record of archive */
-TAR_EXTERN union record        *ar_last;       /* Last+1 record of archive block */
-TAR_EXTERN char                ar_reading;     /* 0 writing, !0 reading archive */
-TAR_EXTERN int         blocking;       /* Size of each block, in records */
-TAR_EXTERN int         blocksize;      /* Size of each block, in bytes */
-TAR_EXTERN char                *info_script;   /* Script to run at end of each tape change */
-TAR_EXTERN char                *name_file;     /* File containing names to work on */
-TAR_EXTERN char                filename_terminator; /* \n or \0. */
-TAR_EXTERN char                *tar;           /* Name of this program */
-TAR_EXTERN struct sp_array *sparsearray;/* Pointer to the start of the scratch space */
-TAR_EXTERN int         sp_array_size;  /* Initial size of the sparsearray */
-TAR_EXTERN int                 tot_written;    /* Total written to output */
+TAR_EXTERN union record *ar_block;     /* Start of block of archive */
+TAR_EXTERN union record *ar_record;    /* Current record of archive */
+TAR_EXTERN union record *ar_last;      /* Last+1 record of archive block */
+TAR_EXTERN char ar_reading;    /* 0 writing, !0 reading archive */
+TAR_EXTERN int blocking;       /* Size of each block, in records */
+TAR_EXTERN int blocksize;      /* Size of each block, in bytes */
+TAR_EXTERN char *info_script;  /* Script to run at end of each tape change */
+TAR_EXTERN char *name_file;    /* File containing names to work on */
+TAR_EXTERN char filename_terminator;   /* \n or \0. */
+TAR_EXTERN char *tar;          /* Name of this program */
+TAR_EXTERN struct sp_array *sparsearray;       /* Pointer to the start of the scratch space */
+TAR_EXTERN int sp_array_size;  /* Initial size of the sparsearray */
+TAR_EXTERN int tot_written;    /* Total written to output */
 TAR_EXTERN struct re_pattern_buffer
                      *label_pattern; /* compiled regex for extract label */
-TAR_EXTERN char        **ar_files;     /* list of tape drive names */
-TAR_EXTERN int         n_ar_files;     /* number of tape drive names */
-TAR_EXTERN int         cur_ar_file;    /* tape drive currently being used */
-TAR_EXTERN int         ar_files_len;   /* malloced size of ar_files */
-TAR_EXTERN char                *current_file_name, *current_link_name;
*label_pattern;               /* compiled regex for extract label */
+TAR_EXTERN char **ar_files;    /* list of tape drive names */
+TAR_EXTERN int n_ar_files;     /* number of tape drive names */
+TAR_EXTERN int cur_ar_file;    /* tape drive currently being used */
+TAR_EXTERN int ar_files_len;   /* malloced size of ar_files */
+TAR_EXTERN char *current_file_name, *current_link_name;
 
 /*
  * Flags from the command line
  */
 TAR_EXTERN int cmd_mode;
 #define CMD_NONE       0
-#define CMD_CAT                1               /* -A */
-#define CMD_CREATE     2               /* -c */
-#define CMD_DIFF       3               /* -d */
-#define CMD_APPEND     4               /* -r */
-#define CMD_LIST       5               /* -t */
-#define CMD_UPDATE     6               /* -u */
-#define CMD_EXTRACT    7               /* -x */
-#define CMD_DELETE     8               /* -D */
-#define CMD_VERSION    9               /* --version */
+#define CMD_CAT                1       /* -A */
+#define CMD_CREATE     2       /* -c */
+#define CMD_DIFF       3       /* -d */
+#define CMD_APPEND     4       /* -r */
+#define CMD_LIST       5       /* -t */
+#define CMD_UPDATE     6       /* -u */
+#define CMD_EXTRACT    7       /* -x */
+#define CMD_DELETE     8       /* -D */
+#define CMD_VERSION    9       /* --version */
 
-                                       /* -[0-9][lmh] */
-                       /* CMD_CAT         -A */
-                                       /* -b */
-TAR_EXTERN int f_reblock;              /* -B */
-                       /* CMD_CREATE      -c */
-                                       /* -C */
-                       /* CMD_DIFF        -d */
+/* -[0-9][lmh] */
+/* CMD_CAT        -A */
+/* -b */
+TAR_EXTERN int f_reblock;      /* -B */
+/* CMD_CREATE     -c */
+/* -C */
+/* CMD_DIFF       -d */
 #if 0
-TAR_EXTERN char        f_dironly;              /* -D */
+TAR_EXTERN char f_dironly;     /* -D */
 #endif
-                                       /* -f */
-TAR_EXTERN int f_run_script_at_end;    /* -F */
-TAR_EXTERN int         f_gnudump;              /* -G */
-TAR_EXTERN int f_follow_links;         /* -h */
-TAR_EXTERN int f_ignorez;              /* -i */
-                       /* CMD_DELETE      -J */
-TAR_EXTERN int f_keep;                 /* -k */
-TAR_EXTERN int f_startfile;            /* -K */
-TAR_EXTERN int f_local_filesys;        /* -l */
-TAR_EXTERN int  tape_length;           /* -L */
-TAR_EXTERN int f_modified;             /* -m */
-TAR_EXTERN int         f_multivol;             /* -M */
-TAR_EXTERN int f_new_files;            /* -N */
-TAR_EXTERN int f_oldarch;              /* -o */
-TAR_EXTERN int  f_exstdout;            /* -O */
-TAR_EXTERN int f_use_protection;       /* -p */
-TAR_EXTERN int  f_absolute_paths;      /* -P */
-TAR_EXTERN int f_sayblock;             /* -R */
-TAR_EXTERN int f_sorted_names;         /* -s */
-TAR_EXTERN int f_sparse_files;         /* -S  ... JK */
-TAR_EXTERN int f_namefile;             /* -T */
-                       /* CMD_UPDATE      -u */
-TAR_EXTERN int f_verbose;              /* -v */
-TAR_EXTERN char *f_volhdr;             /* -V */
-TAR_EXTERN int  f_confirm;             /* -w */
-TAR_EXTERN int  f_verify;              /* -W */
-                       /* CMD_EXTRACT     -x */
-TAR_EXTERN int  f_exclude;             /* -X */
-TAR_EXTERN int         f_compress;             /* -z */
-                                       /* -Z */
-TAR_EXTERN int f_do_chown;             /* --do-chown */
-TAR_EXTERN int  f_totals;              /* --totals */
-TAR_EXTERN int f_remove_files;         /* --remove-files */
-TAR_EXTERN int f_ignore_failed_read;   /* --ignore-failed-read */
-TAR_EXTERN int f_checkpoint;           /* --checkpoint */
-TAR_EXTERN int f_show_omitted_dirs;    /* --show-omitted-dirs */
-TAR_EXTERN char *f_volno_file;         /* --volno-file */
-TAR_EXTERN int f_force_local;          /* --force-local */
-TAR_EXTERN int f_atime_preserve;       /* --atime-preserve */
+/* -f */
+TAR_EXTERN int f_run_script_at_end;    /* -F */
+TAR_EXTERN int f_gnudump;      /* -G */
+TAR_EXTERN int f_follow_links; /* -h */
+TAR_EXTERN int f_ignorez;      /* -i */
+/* CMD_DELETE     -J */
+TAR_EXTERN int f_keep;         /* -k */
+TAR_EXTERN int f_startfile;    /* -K */
+TAR_EXTERN int f_local_filesys;        /* -l */
+TAR_EXTERN int tape_length;    /* -L */
+TAR_EXTERN int f_modified;     /* -m */
+TAR_EXTERN int f_multivol;     /* -M */
+TAR_EXTERN int f_new_files;    /* -N */
+TAR_EXTERN int f_oldarch;      /* -o */
+TAR_EXTERN int f_exstdout;     /* -O */
+TAR_EXTERN int f_use_protection;/* -p */
+TAR_EXTERN int f_absolute_paths;/* -P */
+TAR_EXTERN int f_sayblock;     /* -R */
+TAR_EXTERN int f_sorted_names; /* -s */
+TAR_EXTERN int f_sparse_files; /* -S  ... JK */
+TAR_EXTERN int f_namefile;     /* -T */
+/* CMD_UPDATE     -u */
+TAR_EXTERN int f_verbose;      /* -v */
+TAR_EXTERN char *f_volhdr;     /* -V */
+TAR_EXTERN int f_confirm;      /* -w */
+TAR_EXTERN int f_verify;       /* -W */
+/* CMD_EXTRACT     -x */
+TAR_EXTERN int f_exclude;      /* -X */
+TAR_EXTERN int f_compress;     /* -z */
+/* -Z */
+TAR_EXTERN int f_do_chown;     /* --do-chown */
+TAR_EXTERN int f_totals;       /* --totals */
+TAR_EXTERN int f_remove_files; /* --remove-files */
+TAR_EXTERN int f_ignore_failed_read;   /* --ignore-failed-read */
+TAR_EXTERN int f_checkpoint;   /* --checkpoint */
+TAR_EXTERN int f_show_omitted_dirs;    /* --show-omitted-dirs */
+TAR_EXTERN char *f_volno_file; /* --volno-file */
+TAR_EXTERN int f_force_local;  /* --force-local */
+TAR_EXTERN int f_atime_preserve;/* --atime-preserve */
 
 /*
  * We default to Unix Standard format rather than 4.2BSD tar format.
@@ -251,44 +258,45 @@ TAR_EXTERN int    f_atime_preserve;       /* --atime-preserve */
 /*
  * Structure for keeping track of filenames and lists thereof.
  */
-struct name {
-       struct name     *next;
-       short           length;         /* cached strlen(name) */
-       char            found;          /* A matching file has been found */
-       char            firstch;        /* First char is literally matched */
-       char            regexp;         /* This name is a regexp, not literal */
-       char            *change_dir;    /* JF set with the -C option */
-       char            *dir_contents;  /* JF for f_gnudump */
-       char            fake;           /* dummy entry */
-       char            name[1];
-};
+struct name
+  {
+    struct name *next;
+    short length;              /* cached strlen(name) */
+    char found;                        /* A matching file has been found */
+    char firstch;              /* First char is literally matched */
+    char regexp;               /* This name is a regexp, not literal */
+    char *change_dir;          /* JF set with the -C option */
+    char *dir_contents;                /* JF for f_gnudump */
+    char fake;                 /* dummy entry */
+    char name[1];
+  };
 
-TAR_EXTERN struct name *namelist;      /* Points to first name in list */
-TAR_EXTERN struct name *namelast;      /* Points to last name in list */
+TAR_EXTERN struct name *namelist;      /* Points to first name in list */
+TAR_EXTERN struct name *namelast;      /* Points to last name in list */
 
-TAR_EXTERN int         archive;        /* File descriptor for archive file */
-TAR_EXTERN int         errors;         /* # of files in error */
+TAR_EXTERN int archive;                /* File descriptor for archive file */
+TAR_EXTERN int errors;         /* # of files in error */
 
 TAR_EXTERN char *gnu_dumpfile;
 
 /*
  * Error recovery stuff
  */
-TAR_EXTERN char                read_error_flag;
+TAR_EXTERN char read_error_flag;
 
 
 /*
  * Declarations of functions available to the world.
  */
-union record *findrec();
-void userec();
-union record *endofrecs();
-void anno();
+union record *findrec ();
+void userec ();
+union record *endofrecs ();
+void anno ();
 
 #if defined (HAVE_VPRINTF) && __STDC__
-void msg(char *, ...);
-void msg_perror(char *, ...);
+void msg (char *,...);
+void msg_perror (char *,...);
 #else
-void msg();
-void msg_perror();
+void msg ();
+void msg_perror ();
 #endif
This page took 0.039411 seconds and 4 git commands to generate.