/[tar]/tar/src/tar.h
ViewVC logotype

Diff of /tar/src/tar.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.21 by gray, Mon Nov 17 07:34:55 2003 UTC revision 1.22 by gray, Mon Nov 17 15:20:46 2003 UTC
# Line 42  struct posix_header Line 42  struct posix_header
42                                  /* 500 */                                  /* 500 */
43  };  };
44    
 struct star_header  
 {                               /* byte offset */  
   char name[100];               /*   0 */  
   char mode[8];                 /* 100 */  
   char uid[8];                  /* 108 */  
   char gid[8];                  /* 116 */  
   char size[12];                /* 124 */  
   char mtime[12];               /* 136 */  
   char chksum[8];               /* 148 */  
   char typeflag;                /* 156 */  
   char linkname[100];           /* 157 */  
   char magic[6];                /* 257 */  
   char version[2];              /* 263 */  
   char uname[32];               /* 265 */  
   char gname[32];               /* 297 */  
   char devmajor[8];             /* 329 */  
   char devminor[8];             /* 337 */  
   char prefix[131];             /* 345 */  
   char atime[12];               /* 476 */  
   char ctime[12];               /* 488 */  
                                 /* 500 */  
 };  
   
45  #define TMAGIC   "ustar"        /* ustar and a null */  #define TMAGIC   "ustar"        /* ustar and a null */
46  #define TMAGLEN  6  #define TMAGLEN  6
47  #define TVERSION "00"           /* 00 and no null */  #define TVERSION "00"           /* 00 and no null */
# Line 212  struct oldgnu_header Line 189  struct oldgnu_header
189  /* This file is a tape/volume header.  Ignore it on extraction.  */  /* This file is a tape/volume header.  Ignore it on extraction.  */
190  #define GNUTYPE_VOLHDR 'V'  #define GNUTYPE_VOLHDR 'V'
191    
192    
193    /* Jörg Schilling star header */
194    
195    struct star_header
196    {                               /* byte offset */
197      char name[100];               /*   0 */
198      char mode[8];                 /* 100 */
199      char uid[8];                  /* 108 */
200      char gid[8];                  /* 116 */
201      char size[12];                /* 124 */
202      char mtime[12];               /* 136 */
203      char chksum[8];               /* 148 */
204      char typeflag;                /* 156 */
205      char linkname[100];           /* 157 */
206      char magic[6];                /* 257 */
207      char version[2];              /* 263 */
208      char uname[32];               /* 265 */
209      char gname[32];               /* 297 */
210      char devmajor[8];             /* 329 */
211      char devminor[8];             /* 337 */
212      char prefix[131];             /* 345 */
213      char atime[12];               /* 476 */
214      char ctime[12];               /* 488 */
215                                    /* 500 */
216    };
217    
218    #define SPARSES_IN_STAR_HEADER      4
219    #define SPARSES_IN_STAR_EXT_HEADER  21
220    
221    struct star_in_header {
222      char fill[345];       /*   0  Everything that is before t_prefix */
223      char prefix[1];       /* 345  t_name prefix */
224      char fill2;           /* 346  */
225      char fill3[8];        /* 347  */
226      char isextended;      /* 355  */
227      struct sparse sp[SPARSES_IN_STAR_HEADER]; /* 356  */
228      char realsize[12];    /* 452  Actual size of the file */
229      char offset[12];      /* 464  Offset of multivolume contents */
230      char atime[12];       /* 476  */
231      char ctime[12];       /* 488  */
232      char mfill[8];        /* 500  */
233      char xmagic[4];       /* 508  "tar" */
234    };
235    
236    struct star_ext_header {
237      struct sparse sp[SPARSES_IN_STAR_EXT_HEADER];
238      char isextended;
239    };
240    
241    
242    
243  /* tar Header Block, overall structure.  */  /* tar Header Block, overall structure.  */
244    
245  /* tar files are made in basic blocks of this size.  */  /* tar files are made in basic blocks of this size.  */
# Line 267  union block Line 295  union block
295    struct star_header star_header;    struct star_header star_header;
296    struct oldgnu_header oldgnu_header;    struct oldgnu_header oldgnu_header;
297    struct sparse_header sparse_header;    struct sparse_header sparse_header;
298      struct star_in_header star_in_header;
299      struct star_ext_header star_ext_header;
300  };  };
301    
302  /* End of Format description.  */  /* End of Format description.  */

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26