summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/tar/test/fixtures/packtest/star.4.html
blob: b600d772f5e92a6dadf18315f4babc65f97f3da7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
<html>
<head>
<title>Manpage for star.4</title>
<META name="description" content="A html version of the manpage for star.4">
<META name="keywords" content="star.4">
</head>
<body background=corrugated_xxxxxlight_metal.gif>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->

Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>


</PRE>
<H2>NAME</H2><PRE>
     star - tape archive file format


</PRE>
<H2>DESCRIPTION</H2><PRE>
     <B>Tar</B> Archives are layered archives.  The basic  structure  is
     defined by the POSIX.1-1988 archive format and documented in
     the <B>BASIC</B> <B>TAR</B> <B>HEADER</B> <B>DESCRIPTION</B> section below.  The  higher
     level  structure  is  defined  by  the POSIX.1-2001 extended
     headers and documented in  the  <B>EXTENDED</B>  <B>TAR</B>  <B>(PAX)</B>  <B>HEADER</B>
     <B>STRUCTURE</B>  section below.  POSIX.1-2001 extended headers are
     pseudo files that contain an unlimited  number  of  extended
     header  keywords  and associated values. The header keywords
     are documented in the <B>EXTENDED</B>  <B>TAR</B>  <B>(PAX)</B>  <B>HEADER</B>  <B>KEYWORDS</B>
     section below.


</PRE>
<H2>BASIC TAR HEADER DESCRIPTION</H2><PRE>
     Physically, a POSIX.1-1988 <B>tar</B> archive consists of a  series
     of  fixed  sized blocks of TBLOCK (512) characters.  It con-
     tains a series of  file  entries  terminated  by  a  logical
     end-of-archive  marker,  which consists of two blocks of 512
     bytes of binary zeroes.  Each file entry is represented by a
     header block that describes the file followed by one or more
     blocks with the content of the file. The length of each file
     is rounded up to a multiple of 512 bytes.

     A number of TBLOCK sizes blocks are grouped  together  to  a
     tape  record  for  physical I/O operations. Each record of <I>n</I>
     blocks is written with a single <B><A HREF="write.2.html">write(2)</A></B> operation.  On mag-
     netic tapes, this results in a single tape record.

     The header block is defined in star.h as follows:
     /*
      * POSIX.1-1988 field size values and magic.
      */
     #define   TBLOCK         512
     #define   NAMSIZ         100
     #define   PFXSIZ         155

     #define   TMODLEN        8
     #define   TUIDLEN        8
     #define   TGIDLEN        8
     #define   TSIZLEN        12
     #define   TMTMLEN        12
     #define   TCKSLEN        8

     #define   TMAGIC         "ustar"   /* ustar magic 6 chars + '\0' */
     #define   TMAGLEN        6         /* "ustar" including '\0' */
     #define   TVERSION       "00"
     #define   TVERSLEN       2
     #define   TUNMLEN        32
     #define   TGNMLEN        32
     #define   TDEVLEN        8

Joerg Schilling       Last change: 05/10/19                     1


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

     /*
      * POSIX.1-1988 typeflag values
      */
     #define   REGTYPE        '0'  /* Regular File          */
     #define   AREGTYPE       '\0' /* Regular File (outdated) */
     #define   LNKTYPE        '1'  /* Hard Link             */
     #define   SYMTYPE        '2'  /* Symbolic Link         */
     #define   CHRTYPE        '3'  /* Character Special     */
     #define   BLKTYPE        '4'  /* Block Special         */
     #define   DIRTYPE        '5'  /* Directory             */
     #define   FIFOTYPE       '6'  /* FIFO (named pipe)     */
     #define   CONTTYPE       '7'  /* Contiguous File       */

     /*
      * POSIX.1-2001 typeflag extensions.
      * POSIX.1-2001 calls the extended USTAR format PAX although it is
      * definitely derived from and based on USTAR. The reason may be that
      * POSIX.1-2001 calls the tar program outdated and lists the
      * pax program as the successor.
      */
     #define   LF_GHDR        'g'  /* POSIX.1-2001 global extended header */
     #define   LF_XHDR        'x'  /* POSIX.1-2001 extended header */

     See section <B>EXTENDED</B> <B>TAR</B>  <B>(PAX)</B>  <B>HEADER</B>  <B>KEYWORDS</B>  for  more
     information about the structure of a POSIX.1-2001 header.

     /*
      * star/gnu/Sun tar extensions:
      *
      * 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_ACL         'A'  /* Solaris Access Control List     */
     #define   LF_DUMPDIR     'D'  /* GNU dump dir                    */
     #define   LF_EXTATTR     'E'  /* Solaris Extended Attribute File */
     #define   LF_META        'I'  /* Inode (metadata only) no file content */
     #define   LF_LONGLINK    'K'  /* NEXT file has a long linkname   */
     #define   LF_LONGNAME    'L'  /* NEXT file has a long name       */
     #define   LF_MULTIVOL    'M'  /* Continuation file rest to be skipped */
     #define   LF_NAMES       'N'  /* OLD GNU for names &gt; 100 characters*/
     #define   LF_SPARSE      'S'  /* This is for sparse files        */
     #define   LF_VOLHDR      'V'  /* tape/volume header Ignore on extraction */
     #define   LF_VU_XHDR     'X'  /* POSIX.1-2001 xtended (Sun VU version) */

     /*
      * Definitions for the t_mode field
      */
     #define   TSUID     04000     /* Set UID on execution  */
     #define   TSGID     02000     /* Set GID on execution  */
     #define   TSVTX     01000     /* On directories, restricted deletion flag */

Joerg Schilling       Last change: 05/10/19                     2


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

     #define   TUREAD    00400     /* Read by owner         */
     #define   TUWRITE   00200     /* Write by owner special */
     #define   TUEXEC    00100     /* Execute/search by owner */
     #define   TGREAD    00040     /* Read by group         */
     #define   TGWRITE   00020     /* Write by group        */
     #define   TGEXEC    00010     /* Execute/search by group */
     #define   TOREAD    00004     /* Read by other         */
     #define   TOWRITE   00002     /* Write by other        */
     #define   TOEXEC    00001     /* Execute/search by other */

     #define   TALLMODES 07777     /* The low 12 bits       */

     /*
      * This is the ustar (Posix 1003.1) header.
      */
     struct header {
          char t_name[NAMSIZ];     /*   0 Filename               */
          char t_mode[8];          /* 100 Permissions            */
          char t_uid[8];           /* 108 Numerical User ID      */
          char t_gid[8];           /* 116 Numerical Group ID     */
          char t_size[12];         /* 124 Filesize               */
          char t_mtime[12];        /* 136 st_mtime               */
          char t_chksum[8];        /* 148 Checksum               */
          char t_typeflag;         /* 156 Typ of File            */
          char t_linkname[NAMSIZ]; /* 157 Target of Links        */
          char t_magic[TMAGLEN];   /* 257 "ustar"                */
          char t_version[TVERSLEN]; /* 263 Version fixed to 00   */
          char t_uname[TUNMLEN];   /* 265 User Name              */
          char t_gname[TGNMLEN];   /* 297 Group Name             */
          char t_devmajor[8];      /* 329 Major for devices      */
          char t_devminor[8];      /* 337 Minor for devices      */
          char t_prefix[PFXSIZ];   /* 345 Prefix for t_name      */
                                   /* 500 End                    */
          char t_mfill[12];        /* 500 Filler up to 512       */
     };

     /*
      * star header specific definitions
      */
     #define   STMAGIC        "tar"     /* star magic */
     #define   STMAGLEN       4         /* "tar" including '\0' */

     /*
      * This is the new (post Posix 1003.1-1988) xstar header
      * defined in 1994.
      *
      * t_prefix[130]    is guaranteed to be ' ' to prevent ustar
      *                  compliant implementations from failing.
      * t_mfill &amp; t_xmagic need to be zero for a 100% ustar compliant
      *                  implementation, so setting t_xmagic to
      *                  "tar" should be avoided in the future.
      *

Joerg Schilling       Last change: 05/10/19                     3


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

      * A different method to recognize this format is to verify that
      * t_prefix[130]              is equal to ' ' and
      * t_atime[0]/t_ctime[0]      is an octal number and
      * t_atime[11]                is equal to ' ' and
      * t_ctime[11]                is equal to ' '.
      *
      * Note that t_atime[11]/t_ctime[11] may be changed in future.
      */
     struct xstar_header {
          char t_name[NAMSIZ];     /*   0 Filename               */
          char t_mode[8];          /* 100 Permissions            */
          char t_uid[8];           /* 108 Numerical User ID      */
          char t_gid[8];           /* 116 Numerical Group ID     */
          char t_size[12];         /* 124 Filesize               */
          char t_mtime[12];        /* 136 st_mtime               */
          char t_chksum[8];        /* 148 Checksum               */
          char t_typeflag;         /* 156 Typ of File            */
          char t_linkname[NAMSIZ]; /* 157 Target of Links        */
          char t_magic[TMAGLEN];   /* 257 "ustar"                */
          char t_version[TVERSLEN]; /* 263 Version fixed to 00   */
          char t_uname[TUNMLEN];   /* 265 User Name              */
          char t_gname[TGNMLEN];   /* 297 Group Name             */
          char t_devmajor[8];      /* 329 Major for devices      */
          char t_devminor[8];      /* 337 Minor for devices      */
          char t_prefix[131];      /* 345 Prefix for t_name      */
          char t_atime[12];        /* 476 st_atime               */
          char t_ctime[12];        /* 488 st_ctime               */
          char t_mfill[8];         /* 500 Filler up to star magic     */
          char t_xmagic[4];        /* 508 "tar"                  */
     };

     struct sparse {
          char t_offset[12];
          char t_numbytes[12];
     };

     #define   SPARSE_EXT_HDR  21

     struct xstar_ext_header {
          struct sparse t_sp[21];
          char t_isextended;
     };

     typedef union hblock {
          char dummy[TBLOCK];
          long ldummy[TBLOCK/sizeof (long)]; /* force long alignment */
          struct header            dbuf;
          struct xstar_header      xstar_dbuf;
          struct xstar_ext_header  xstar_ext_dbuf;
     } TCB;

Joerg Schilling       Last change: 05/10/19                     4


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

     For maximum portability, all fields that  contain  character
     strings should be limited to use the low 7 bits of a charac-
     ter.

     The  <I>name</I>,  <I>linkname</I>  and  <I>prefix</I>  field  contain  character
     strings.  The  strings  are null terminated except when they
     use the full space of 100 characters for the <I>name</I>  or  <I>link-</I>
     <I>name</I> field or 155 characters for the <I>prefix</I> field.

     If the <I>prefix</I> does not start with  a  null  character,  then
     <I>prefix</I> and <I>name</I> need to be concatenated by using the <I>prefix</I>,
     followed a slash character followed by the <I>name</I> field.  If a
     null  character appears in <I>name</I> or <I>prefix</I> before the maximum
     size is reached, the field in question is terminated.   This
     way  file  names  up to 256 characters may be archived.  The
     <I>prefix</I> is not used together with the <I>linkname</I> field, so  the
     maximum length of a link name is 100 characters.

     The fields <I>magic</I>, <I>uname</I> and <I>gname</I>  contain  null  terminated
     character strings.

     The version field contains the string <B>"00"</B> without a  trail-
     ing  zero.  It cannot be set to different values as POSIX.1-
     1988 did not specify  a  way  to  handle  different  version
     strings.  The <I>typeflag</I> field contains a single character.

     All  numeric  fields  contain  <I>size</I>-<I>1</I>  leading   zero-filled
     numbers  using  octal  digits.   They are followed by one or
     more space or null characters.  All  recent  implementations
     only use one space or null character at the end of a numeri-
     cal field to get maximum space for the octal  number.   <B>Star</B>
     always uses a space character as terminator.  Numeric fields
     with 8 characters may hold up to 7  octal  digits  (7777777)
     which results is a maximum value of 2097151.  Numeric fields
     with  12  characters  may  hold  up  to  11   octal   digits
     (77777777777)   which   results   is   a  maximum  value  of
     8589934591.

     <I>Star</I> implements  a  vendor  specific  (and  thus  non-POSIX)
     extension  to  put  bigger  numbers into the numeric fields.
     This is done by using a <B>base</B> <B>256</B> coding.  The top bit of the
     first character in the appropriate 8 character or 12 charac-
     ter field is set to flag non octal coding.  If base 256 cod-
     ing  is  in  use,  then all remaining characters are used to
     code the number. This results in 7  base  256  digits  in  8
     character  fields  and in 11 base 256 digits in 12 character
     fields.  All base 256 numbers are two's complement  numbers.
     A base 256 number in a 8 character field may hold 56 bits, a
     base 256 number in a 12 character field may  hold  88  bits.
     This  may  extended to 64 bits for 8 character fields and to
     95 bits for 12 character fields. For a negative  number  the
     first  character  currently  is set to a value of 255 (all 8

Joerg Schilling       Last change: 05/10/19                     5


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

     bits are set).  The rightmost character in a 8 or 12 charac-
     ter  field  contains  the least significant base 256 number.
     Recent GNU tar versions implement the same extension.

     While the POSIX standard makes obvious that the fields <I>mode</I>,
     <I>uid</I>,  <I>gid</I>,    <I>size</I>,  <I>chksum</I>, <I>devmajor</I> and <I>devminor</I> should be
     treated as unsigned numbers, there is no such definition for
     the <I>time</I> field.

     The mode field contains 12  bits  holding  permissions,  see
     above for the definitions for each of the permission bits.

     The <I>uid</I> and <I>gid</I> fields contain the numerical user id of  the
     file.

     The <I>size</I> field contains the size of the file in  characters.
     If  the <I>tar</I> <I>header</I> is followed by file data, then the amount
     of data that follows is computed by (<I>size</I> + <I>511</I>) / <I>512</I>.

     The <I>mtime</I> filed contains the number of seconds since Jan 1st
     1970 00:00 UTC as retrived via <B><A HREF="stat.2.html">stat(2)</A></B> in <I>st</I>_<I>mtime</I>.

     The <I>chksum</I> field contains a simple checksum over  all  bytes
     of  the header.  To compute the value, all characters in the
     header are treated as unsigned integers and  the  characters
     in  the <I>chksum</I> field are treated as if they were all spaces.
     When the computation starts, the checksum value is  initial-
     ized to 0.

     The <I>typeflag</I> field specifies the type of the  file  that  is
     archived.  If a specific <B>tar</B> implementation does not include
     support for a specific typeflag value,  this  implementation
     will  extract  the  unknown file types as if they were plain
     files.

     <B>'0'</B> <B>REGTYPE</B>
          A regular file.  If the <I>size</I> field is  non  zero,  then
          file data follows the header.

     <B>'\0'</B> <B>AREGTYPE</B>
          For backwards compatibility with pre  POSIX.1-1988  <B>tar</B>
          implementations,  a nul character is also recognized as
          marker for plain files.  It is not generated by  recent
          <B>tar</B>  implementations.   If  the <I>size</I> field is non zero,
          then file data follows the header.

     <B>'1'</B> <B>LNKTYPE</B>
          The file is a hard link to another file.  The  name  of
          the  file that the file is linked to is in the <I>linkname</I>
          part of the header.  For <B>tar</B> archives  written  by  pre
          POSIX.1-1988  implementations,  the  <I>size</I> field usually
          contains the size of the file and needs to  be  ignored

Joerg Schilling       Last change: 05/10/19                     6


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          as  no  data may follow this header type.  For POSIX.1-
          1988 compliant archives, the <I>size</I> field needs to be  0.
          For POSIX.1-2001 compliant archives, the <I>size</I> field may
          be non zero, indicating that file data is  included  in
          the archive.

     <B>'2'</B> <B>SYMTYPE</B>
          The file is a symbolic link to another file.  The  name
          of  the file that the file is linked to is in the <I>link-</I>
          <I>name</I> part of the header.  The <I>size</I> field needs to be 0.
          No file data may follow the header.

     <B>'3'</B> <B>CHRTYPE</B>
          A character special file.  The fields <I>devmajor</I> and <I>dev-</I>
          <I>minor</I>  contain  information that defines the file.  The
          meaning of the <I>size</I> field is unspecified by  the  POSIX
          standard.  No file data may follow the header.

     <B>'4'</B> <B>BLKTYPE</B>
          A block special file.  The fields <I>devmajor</I> and <I>devminor</I>
          contain information that defines the file.  The meaning
          of the <I>size</I> field is unspecified by the POSIX standard.
          No file data may follow the header.

     <B>'5'</B> <B>DIRTYPE</B>
          A directory or sub directory.  Old  (pre  POSIX.1-1988)
          <B>tar</B>  implementations did use the same <I>typeflag</I> value as
          for plain files and added a slash to the name.  If  the
          <I>size</I>  field  is  non zero then it indicates the maximum
          size in characters the system  may  allocate  for  this
          directory.  If  the  <I>size</I>  field  is 0, then the system
          shall not limit the size of the directory. On operating
          systems  where  the  disk  allocation  is not done on a
          directory base, the <I>size</I> field is  ignored  on  extrac-
          tion.  No file data may follow the header.

     <B>'6'</B> <B>FIFOTYPE</B>
          A named  pipe.   The  meaning  of  the  size  field  is
          unspecified by the POSIX standard.  The <I>size</I> field must
          be ignored on extraction.  No file data may follow  the
          header.

     <B>'7'</B> <B>CONTTYPE</B>
          A contiguous file.  This is a file that  gives  special
          performance  attributes.   Operating systems that don't
          support this file type extract this file type as  plain
          files.   If  the <I>size</I> field is non zero, then file data
          follows the header.

     <B>'g'</B> <B>GLOBAL</B> <B>POSIX.1-2001</B> <B>HEADER</B>
          With POSIX.1-2001 pax archives,  this  type  defines  a
          global  extended  header.   The <I>size</I> is always non zero

Joerg Schilling       Last change: 05/10/19                     7


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          and denotes  the  sum  of  the  length  fields  in  the
          extended header data.  The data that follows the header
          is in the <B>pax</B> <B>extended</B>  <B>header</B>  format.   The  extended
          header records in this header type affect all following
          files in the archive unless they are overwritten by new
          values.   See  <B>EXTENDED</B> <B>TAR</B> <B>(PAX)</B> <B>HEADER</B> <B>FORMAT</B> section
          below.

     <B>'x'</B> <B>EXTENDED</B> <B>POSIX.1-2001</B> <B>HEADER</B>
          With POSIX.1-2001 pax archives, this  type  defines  an
          extended  header.   The  <I>size</I>  is  always  non zero and
          denotes the sum of the length fields  in  the  extended
          header  data.   The  data that follows the header is in
          the <B>pax</B> <B>extended</B> <B>header</B> format.   The  extended  header
          records  in  this header type only affect the following
          file in the archive.  See  <B>EXTENDED</B>  <B>TAR</B>  <B>(PAX)</B>  <B>HEADER</B>
          <B>FORMAT</B> section below.

     <B>'A'</B> <B>-</B> <B>'Z'</B>
          Reserved for vendor specific implementations.

     <B>'A'</B>  A Solaris ACL entry as used by the  <B>tar</B>  implementation
          from  Sun.  The <I>size</I> is always non zero and denotes the
          length of the  data  that  follows  the  header.   <B>Star</B>
          currently is not able to handle this header type.

     <B>'D'</B>  A GNU dump directory.  This header type is not  created
          by  <B>star</B> and handled like a directory during an extract
          operation, so the content is ignored by <B>star</B>.  The <I>size</I>
          field  denotes  the length of the data that follows the
          header.

     <B>'E'</B>  A Solaris Extended  Attribute  File.   The  <I>size</I>  field
          denotes the length of the data that follows the header.
          <B>Star</B> currently is not able to handle this header type.

     <B>'I'</B>  A <B>inode</B> <B>metadata</B> entry.  This header type  is  used  by
          <B>star</B>  to archive inode meta data only.  To archive more
          inode meta data than possible with a  POSIX-1.1988  <B>tar</B>
          header, a header with type <B>'I'</B> is usually preceded by a
          <B>'x'</B> header.  It is used with incremental backups.   The
          <I>size</I>  field holds the length of the file.  No file data
          follows this header.

     <B>'K'</B>  A long link name.  <B>Star</B> is able to read and write  this
          type  of  header.  With the <B>xustar</B> and <B>exustar</B> formats,
          <B>star</B>  prefers  to  store  long  link  names  using  the
          POSIX.1-2001  method.   The <I>size</I> is always non zero and
          denotes the length of the long link name including  the
          trailing  null  byte. The link name is in the data that
          follows the header.

Joerg Schilling       Last change: 05/10/19                     8


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

     <B>'L'</B>  A long file name.  <B>Star</B> is able to read and write  this
          type  of  header.  With the <B>xustar</B> and <B>exustar</B> formats,
          <B>star</B>  prefers  to  store  long  file  names  using  the
          POSIX.1-2001  method.   The <I>size</I> is always non zero and
          denotes the length of the long file name including  the
          trailing  null  byte. The file name is in the data that
          follows the header.

     <B>'M'</B>  A multi volume continuation entry.  It is used by  <B>star</B>
          to  tell the extraction program via the <I>size</I> field when
          the next regular  archive  header  will  follow.   This
          allows to start extracting multi volume archives with a
          volume number greater than one.  It is used by GNU  tar
          to  verify  multi  volume  continuation volumes.  Other
          fields in the GNU multi volume continuation header  are
          a  result  of  a  GNU tar miss conception and cannot be
          used.  If the <I>size</I> field is non zero the data following
          the header is skipped by <B>star</B> if the volume that starts
          with it is mounted as the first volume.  This header is
          ignored if the volume that starts with it is mounted as
          continuation volume.

     <B>'N'</B>  An outdated linktype used by old GNU  tar  versions  to
          store  long  file  names.   This type is unsupported by
          <B>star</B>.

     <B>'S'</B>  A sparse file.  This header type is used  by  <B>star</B>  and
          <B>GNU</B>  <B>tar</B>.   A  sparse header is uses instead of a plain
          file header to  denote  a  sparse  file  that  follows.
          Directly  after  the  header,  a  list  of  sparse hole
          descriptors follows  followed  by  the  compacted  file
          data.   With  <I>star</I> formats, the <I>size</I> field holds a size
          that represents the sum of the sparse hole  descriptors
          plus  the  size of the compacted file data. This allows
          other <B>tar</B> implementations to correctly skip to the next
          <B>tar</B> <B>header</B>.  With GNU tar, up to 4 sparse hole descrip-
          tors fit  into  the  sparse  header.   Additional  hole
          descriptors  are not needed if the file has less than 4
          holes.  With GNU tar, the size field breaks general <I>tar</I>
          header rules and is meaningless because the size of the
          sparse hole descriptors does not count.

     <B>'V'</B>  A volume header.  The <I>name</I> field is is used to hold the
          volume  name.   <B>Star</B>  uses  the <I>atime</I> field to hold the
          volume number in case there is no POSIX.1-2001 extended
          header.   This header type is used by <B>star</B> and <B>GNU</B> <B>tar</B>.
          If the <I>size</I> field is non zero the  data  following  the
          header is skipped by <B>star</B>.

     <B>'X'</B>  A vendor unique variant of  the  POSIX.1-2001  extended
          header type.  It has been implemented by Sun many years
          before the POSIX.1-2001  standard  has  been  approved.

Joerg Schilling       Last change: 05/10/19                     9


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          See also the <I>typeflag</I> 'x' header type.  <B>Star</B> is able to
          read and write this type of header.


</PRE>
<H2>EXTENDED TAR (PAX) HEADER STRUCTURE</H2><PRE>
     <B>Block</B> <B>type</B>                            <B>Description</B>

     Ustar Header [typeflag='g']      <I>Global</I> <I>Extended</I> <I>Header</I>
     Global Extended Data
     Ustar Header [typeflag='h']         <I>Extended</I> <I>Header</I>
     Extended Data
     Ustar header [typeflag='0']    <I>File</I> <I>with</I> <I>Extended</I> <I>Header</I>
     Data for File #1
     Ustar header [typeflag='0']   <I>File</I> <I>without</I> <I>Extended</I> <I>Header</I>
     Data for File #2
     Block of binary zeroes              <I>First</I> <I>EOF</I> <I>Block</I>
     Block of binary zeroes              <I>Second</I> <I>EOF</I> <I>Block</I>


</PRE>
<H2>EXTENDED TAR (PAX) HEADER FORMAT</H2><PRE>
     The data block  that  follows  a  <B>tar</B>  archive  header  with
     <I>typeflag</I> <B>'g'</B> or <B>'x'</B> contains one or more records in the fol-
     lowing format:

          "%d %s=%s\n", &lt;<I>length</I>&gt;, &lt;<I>keyword</I>&gt;, &lt;<I>value</I>&gt;

     Each record starts with a a decimal length field. The length
     includes  the  total  size  of a record including the length
     field itself and the trailing new line.

     The <I>keyword</I> may not include an  equal  sign.   All  keywords
     beginning  with  lower  case letters and digits are reserved
     for future use by the POSIX standard.

     If the value field is of zero length, it deletes any  header
     field  of  the  same  name  that  is in effect from the same
     extended header or from a previous global header.

     Null characters do not delimit any value. The value is  only
     limited by its implicit length.


</PRE>
<H2>EXTENDED TAR (PAX) HEADER KEYWORDS</H2><PRE>
     POSIX.1-2001 extended <B>pax</B>  header  keywords.  All  numerical
     values  are  represented  as decimal strings.  All texts are
     represented as 7-bit ascii or UTF-8:

     <B>atime</B>
          The time from <B>st_atime</B> in sub second granularity.  <B>Star</B>
          currently supports a nanosecond granularity.

     <B>charset</B>
          The name of the character set used to encode  the  data
          in  the  following  file(s).  This keyword is currently

Joerg Schilling       Last change: 05/10/19                    10


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          ignored by <B>star</B>.

     <B>comment</B>
          Any number of characters that   should  be  treated  as
          comment.  <B>Star</B> ignores the comment as documented by the
          POSIX standard.

     <B>ctime</B>
          The time from <B>st_ctime</B> in sub second granularity.  <B>Star</B>
          currently supports a nanosecond granularity.

     <B>gid</B>  The group ID of the group  that  owns  the  file.   The
          argument  is  a  decimal number.  This field is used if
          the group ID of a file is greater than  2097151  (octal
          7777777).

     <B>gname</B>
          The group name of the following file(s) coded in  UTF-8
          if  the  group name does not fit into 323 characters or
          cannot be expressed in 7-Bit ASCII.

     <B>linkpath</B>
          The name of the <I>linkpath</I> coded in UTF-8 if it is longer
          than  100  characters  or  cannot be expressed in 7-Bit
          ASCII.

     <B>mtime</B>
          The time from <B>st_mtime</B> in sub second granularity.  <B>Star</B>
          currently supports a nanosecond granularity.

     <B>path</B> The name of the <I>linkpath</I> coded in UTF-8 if it does  not
          fit into 100 characters + 155 characters prefix or can-
          not be expressed in 7-Bit ASCII.

     <B>realtime.</B><I>any</I>
          The keywords prefixed by  <B>realtime.</B>  are  reserved  for
          future standardization.

     <B>security.</B><I>any</I>
          The keywords prefixed by  <B>security.</B>  are  reserved  for
          future standardization.

     <B>size</B> The size of the file as decimal number if the file size
          is  greater  than  8589934591  (octal 77777777777). The
          <B>size</B> keyword may not refer to the real file size but is
          related  to  the  size if the file in the archive.  See
          also <B>SCHILY.realsize</B> for more information.

     <B>uid</B>  The uid ID of the group that owns the file.  The  argu-
          ment  is  a  decimal number.  This field is used if the
          uid ID  of  a  file  is  greater  than  2097151  (octal
          7777777).

Joerg Schilling       Last change: 05/10/19                    11


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

     <B>uname</B>
          The user name of the following file(s) coded  in  UTF-8
          if  the  user  name does not fit into 323 characters or
          cannot be expressed in 7-Bit ASCII.

     <I>VENDOR</I>.keyword
          Any keyword that starts with a vendor name  in  capital
          letters  is  reserved for vendor specific extensions by
          the standard.  <B>Star</B> uses a lot of these vendor specific
          extension. See below for more informations.


</PRE>
<H2>SCHILY PAX EXTENSION KEYWORDS</H2><PRE>
     <B>Star</B> uses own vendor specific extensions. The <B>SCHILY</B>  vendor
     specific extended <B>pax</B> header keywords are:

     <B>SCHILY.acl.access</B>
          The ACL for a file.

          Since no official backup format for POSIX  access  con-
          trol  lists  has  been  defined,  <B>star</B>  uses the vendor
          defined      attributes      <B>SCHILY.acl.access</B>      and
          <B>SCHILY.acl.default</B>  for storing the <B>ACL</B> and <B>Default</B> <B>ACL</B>
          of a file, respectively.  The access control lists  are
          stored  in  the  short  text  form  as defined in <B>POSIX</B>
          <B>1003.1e</B> <B>draft</B> <B>standard</B> <B>17</B>.

          To each named user <B>ACL</B> entry a fourth  colon  separated
          field field containing the <I>user</I> <I>identifier</I> (<I>UID</I>) of the
          associated user is appended.  To each named group entry
          a  fourth  colon  separated  field containing the <I>group</I>
          <I>identifier</I> (<I>GID</I>) of the associated group  is  appended.
          (POSIX  1003.1e  draft standard 17 allows to add fields
          to ACL entries.)

          This  is  an   example   of   the   format   used   for
          <B>SCHILY.acl.access</B>  (a space has been inserted after the
          equal sign and lines are broken [marked with '\' ]  for
          readability, additional fields in bold):

          SCHILY.acl.access= user::rwx,user:lisa:r-x:<B>502</B>, \
                             group::r-x,group:toolies:rwx:<B>102</B>, \
                             mask::rwx,other::r--x

          The numerical user and group identifiers are  essential
          when  restoring  a  system completely from a backup, as
          initially the name-to-identifier mappings  may  not  be
          available,  and  then  file ownership restoration would
          not work.

          As the archive format  that  is  used  for  backing  up
          access control lists is compatible with the <B>pax</B> archive
          format, archives created that way can  be  restored  by

Joerg Schilling       Last change: 05/10/19                    12


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          <B>star</B>  or  a POSIX.1-2001 compliant <B>pax</B>.  Note that pro-
          grams other than <B>star</B> will ignore the ACL information.

     <B>SCHILY.acl.default</B>
          The default ACL for a file. See  <B>SCHILY.acl.access</B>  for
          more information.

          This  is  an   example   of   the   format   used   for
          <B>SCHILY.acl.default</B> (a space has been inserted after the
          equal sign and lines are broken [marked with '\' ]  for
          readability, additional fields in bold):

          SCHILY.acl.default= user::rwx,user:lisa:r-x:<B>502</B>, \
                              group::r-x,mask::r-x,other::r-x

     <B>SCHILY.ddev</B>
          The device ids for names used is  the  <B>SCHILY.dir</B>  dump
          directory  list  from  <B>st_dev</B>  of  the  file as decimal
          number.  The <B>SCHILY.ddev</B> keyword is followed by a space
          separated  list  of device id numbers. Each corresponds
          exactly to a name in the list found in <B>SCHILY.dir</B>.   If
          a  specific  device  id number is repeated, a comma (,)
          without a following space may be use to denote that the
          current  device  id number is identical to the previous
          number.  This keyword is used in <B>dump</B> mode.  This  key-
          word is not yet implemented.

          The value is a signed int.  An implementation should be
          able  to  handle at least 64 bit values.  Note that the
          value is signed because POSIX  does  not  specify  more
          than the type should be an int.

     <B>SCHILY.dev</B>
          The device id  from  <B>st_dev</B>  of  the  file  as  decimal
          number.  This keyword is used in <B>dump</B> mode.

          The value is a signed int.  An implementation should be
          able  to  handle at least 64 bit values.  Note that the
          value is signed because POSIX  does  not  specify  more
          than the type should be an int.

     <B>SCHILY.devmajor</B>
          The device major number of the file if it is a  charac-
          ter  or  block special file.  The argument is a decimal
          number.  This field is used if the device major of  the
          file is greater than 2097151 (octal 7777777).

          The value is a signed int.  An implementation should be
          able  to  handle at least 64 bit values.  Note that the
          value is signed because POSIX  does  not  specify  more
          than the type should be an int.

Joerg Schilling       Last change: 05/10/19                    13


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

     <B>SCHILY.devminor</B>
          The device minor number of the file if it is a  charac-
          ter  or  block special file.  The argument is a decimal
          number.  This field is used if the device minor of  the
          file is greater than 2097151 (octal 7777777).

          The value is a signed int.  An implementation should be
          able  to  handle at least 64 bit values.  Note that the
          value is signed because POSIX  does  not  specify  more
          than the type should be an int.

     <B>SCHILY.dino</B>
          The inode numbers for names used is the <B>SCHILY.dir</B> dump
          directory  list  from  <B>st_ino</B>  of  the  file as decimal
          number.  The <B>SCHILY.dino</B> keyword is followed by a space
          separated  list  of  inode  numbers.  Each  corresponds
          exactly to a name in  the  list  found  in  <B>SCHILY.dir</B>.
          This keyword is used in <B>dump</B> mode.

          The values are unsigned int.  An implementation  should
          be able to handle at least 64 bit unsigned values.

     <B>SCHILY.dir</B>
          A list of  filenames  (the  content)  for  the  current
          directory.   The  names  are coded in UTF-8.  Each file
          name is prefixed by a single character that is used  as
          a flag.  Each file name is limited by a null character.
          The null character is  directly  followed  by  he  flag
          character  for  the  next file name in case the list is
          not terminated by the  current  file  name.   The  flag
          character  must not be a null character.  By default, a
          ^A (octal  001)  is  used.   The  following  flags  are
          defined:

          <B>\000</B> This is the list terminator character - the second
               null byte, see below.

          <B>^A</B>   The default flag that is used in case the <B>dump</B> <B>dir</B>
               features have not been active.

          <B>Y</B>    A non  directory  file  that  is  in  the  current
               (incremental) dump.

          <B>N</B>    A non directory file that is not  in  the  current
               (incremental) dump.

          <B>D</B>    A directory that is in the  current  (incremental)
               dump.

          <B>d</B>    A directory that is not in the current  (incremen-
               tal) dump.

Joerg Schilling       Last change: 05/10/19                    14


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          The list is terminated by two  successive  null  bytes.
          The first is the null byte for the last file name.  The
          second null byte is at the position where a flag  char-
          acter  would be expected, it acts ad a list terminator.
          The length tag for the <B>SCHILY.dir</B>  data  includes  both
          null bytes.

          If a dump mode has been selected  that  writes  compact
          complete  directory information to the beginning of the
          archive, the flag character  may  contain  values  dif-
          ferent from ^A.  <B>Star</B> implementations up to <B>star-1.5</B> do
          not include this  feature.   Tar  implementations  that
          like  to read archives that use the <B>SCHILY.dir</B> keyword,
          shall not rely on values other than \000 (^@)  or  \001
          (^A).

          This keyword is used in <B>dump</B> mode.

     <B>SCHILY.fflags</B>
          A textual version of the BSD  or  Linux  extended  file
          flags.  As this tag has not yet been documented, please
          look into the  <B>star</B>  source,  file  <B>fflags.c</B>  for  more
          information.

     <B>SCHILY.filetype</B>
          A textual version of the real file type  of  the  file.
          The following names are used:

          <B>unallocated</B>             An unknown file type  that  may
                                  be  a  result  of  a  <B><A HREF="unlink.2.html">unlink(2)</A></B>
                                  operation.  This  should  never
                                  happen.

          <B>regular</B>                 A regular file.

          <B>contiguous</B>              A contiguous file. On operating
                                  systems  or  file  systems that
                                  don't support this  file  type,
                                  it  is  handled  like a regular
                                  file.

          <B>symlink</B>                 A symbolic  link  to  any  file
                                  type.

          <B>directory</B>               A directory.

          <B>character</B> <B>special</B>       A character special file.

          <B>block</B> <B>special</B>           A block special file.

          <B>fifo</B>                    A named pipe.

Joerg Schilling       Last change: 05/10/19                    15


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          <B>socket</B>                  A UNIX domain socket.

          <B>mpx</B> <B>character</B> <B>special</B>   A multiplexed character special
                                  file.

          <B>mpx</B> <B>block</B> <B>special</B>       A  multiplexed  block   special
                                  file.

          <B>XENIX</B> <B>nsem</B>              A XENIX named semaphore.

          <B>XENIX</B> <B>nshd</B>              XENIX shared data.

          <B>door</B>                    A Solaris door.

          <B>eventcount</B>              A UNOS event count.

          <B>whiteout</B>                A BSD whiteout directory entry.

          <B>sparse</B>                  A sparse regular file.

          <B>volheader</B>               A volume header.

          <B>unknown/bad</B>             Any other  unknown  file  type.
                                  This should never happen.

     <B>SCHILY.ino</B>
          The inode number from <B>st_ino</B> of  the  file  as  decimal
          number.  This keyword is used in <B>dump</B> mode.

          The value is an unsigned int.  An implementation should
          be able to handle at least 64 bit unsigned values.

     <B>SCHILY.nlink</B>
          The link count of the file  as  decimal  number.   This
          keyword is used in <B>dump</B> mode.

          The value is an unsigned int.  An implementation should
          be able to handle at least 32 bit unsigned values.

     <B>SCHILY.offset</B>
          The  <B>offset</B>  value  for  a  multi  volume  continuation
          header.   This  keyword  is used with multi volume con-
          tinuation headers.  Multi volume  continuation  headers
          are  used  to  allow  to  start  reading a multi volume
          archive past the first volume.

          The value is an unsigned int.  An implementation should
          be able to handle at least 64 bit unsigned values.

     <B>SCHILY.realsize</B>
          The real size of the  file  as  decimal  number.   This

Joerg Schilling       Last change: 05/10/19                    16


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          keyword  is  used  if the real size of the file differs
          from the visible size of the file in the archive.   The
          real  file size differs from the size in the archive if
          the file type is <B>sparse</B> or if the file is  a  continua-
          tion  file  on  a  multi  volume  archive.  In case the
          <B>SCHILY.realsize</B> keyword is needed, it must be past  any
          <B>size</B> keyword in case a <B>size</B> keyword is also present.

          The value is an unsigned int.  An implementation should
          be able to handle at least 64 bit unsigned values.

     <B>SCHILY.tarfiletype</B>
          The  following  additional  file  types  are  used   in
          <B>SCHILY.tarfiletype</B>:

          <B>hardlink</B>
               A hard link to any file type.

          <B>dumpdir</B>
               A directory with dump entries

          <B>multivol</B> <B>continuation</B>
               A multi volume continuation for any file type.

          <B>meta</B> A meta entry (inode meta data only) for  any  file
               type.

     <B>SCHILY.xattr.</B><I>attr</I>
          A POSIX.1-2001 coded version of the Linux extended file
          attributes.    Linux   extended   file  attributes  are
          name/value pairs. Every attribute  <I>name</I>  results  in  a
          <B>SCHILY.xattr.</B><I>name</I>  tag  and  the  value of the extended
          attribute is used as  the  value  of  the  POSIX.1-2001
          header  tag.  Note that this way of coding is not port-
          able across  platforms.   A  version  for  BSD  may  be
          created  but  Solaris  includes  far more features with
          extended attribute files than Linux does.

          A future version  of  <B>star</B>  will  implement  a  similar
          method  as  the  <B>tar</B> program on Solaris currently uses.
          When    this    implementation    is     ready,     the
          <B>SCHILY.xattr.</B><I>name</I>  feature may be removed in favor of a
          truly portable  implementation  that  supports  Solaris
          also.


</PRE>
<H2>SCHILY 'G'LOBAL PAX EXTENSION KEYWORDS</H2><PRE>
     The following <B>star</B> vendor unique extensions may only  appear
     in <B>'g'lobal</B> extended <B>pax</B> headers:

     <B>SCHILY.archtype</B>
          The textual version of  the  archive  type  used.   The

Joerg Schilling       Last change: 05/10/19                    17


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          textual  values  used  for <B>SCHILY.archtype</B> are the same
          names that are used in the <B>star</B> command line options to
          set up a specific archive type.

          In order to allow archive type  recognition  from  this
          keyword,  the  minimum  tape  block  size must be 2x512
          bytes (1024  bytes)  and  the  <B>SCHILY.archtype</B>  keyword
          needs  to  be  in the first 512 bytes of the content of
          the first <B>'g'lobal</B> <B>pax</B>  header.  Then  the  first  tape
          block may be scanned to recognize the archive type.

     <B>SCHILY.release</B>
          The textual version of the <B>star</B> version string and  the
          platform  name  where this <B>star</B> has been compiled.  The
          same text appears when calling <I>star</I> -<I>version</I>.

     <B>SCHILY.volhdr.blockoff</B>
          This keyword is used for  multi  volume  archives.   It
          represents   the   offset   within  the  whole  archive
          expressed in 512 byte units.

          The value is an unsigned int with a valid range between
          1  and  infinity.  An  implementation should be able to
          handle at least 64 bit unsigned values.

     <B>SCHILY.volhdr.blocksize</B>
          The tape blocksize expressed in 512 byte units that was
          used when writing the archive.

          The value is an unsigned int with a valid range between
          1  and  infinity.  An  implementation should be able to
          handle at least 31 bit unsigned values.

     <B>SCHILY.volhdr.cwd</B>
          This keyword is used in dump mode.  It is only used  to
          contain  the  real  backup  working  directory  if  the
          <B>fs</B>-<B>name=</B> option  of  star  is  used  to  overwrite  the
          <B>SCHILY.volhdr.filesys</B>         value.        Overwriting
          <B>SCHILY.volhdr.filesys</B> is needed when backups are run on
          file system snapshots rather than on the real file sys-
          tem.

     <B>SCHILY.volhdr.device</B>
          This keyword is used in dump mode.  It  represents  the
          name of the device that holds the file system data. For
          disk based file systems, this is the device name of the
          mounted device.

          This keyword is optional. It helps to  correctly  iden-
          tify  the  file  system  from  which this dump has been
          made.

Joerg Schilling       Last change: 05/10/19                    18


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

     <B>SCHILY.volhdr.dumpdate</B>
          This keyword is used in dump mode.  It  represents  the
          time the current dump did start.

     <B>SCHILY.volhdr.dumplevel</B>
          This keyword is used in dump mode.  It  represents  the
          level  of  the  current  dump.   Dump  levels are small
          numbers, the lowest possible number is 0.  Dump level 0
          represents  a  full  backup.  Dump level 1 represents a
          backup that contains all changes that did  occur  since
          the  last  level  0  dump.   Dump  level 2 represents a
          backup that contains all changes that did  occur  since
          the last level 1 dump.  <B>Star</B> does not specify a maximum
          allowed dump level but  you  should  try  to  keep  the
          numbers less than 100.

          The value is an unsigned int with a valid range between
          0 and at least 100.

     <B>SCHILY.volhdr.dumptype</B>
          This keyword is used in dump mode.  If the  dump  is  a
          complete  dump  of  a file system, then the argument is
          the text <B>full</B>, else the argument is the text <B>partial</B>.

     <B>SCHILY.volhdr.filesys</B>
          This keyword is used in dump mode.  It  represents  the
          top level directory for the file system from which this
          dump has been made.  If the dump represents a dump that
          has  an associated level, then the this directory needs
          to be identical to the root directory of this file sys-
          tem which is the mount point.

     <B>SCHILY.volhdr.hostname</B>
          This keyword is  used  in  dump  mode.   The  value  is
          retrieved from <B>gethostname(3)</B> or <B>uname(2)</B>.

     <B>SCHILY.volhdr.label</B>
          The textual volume label.  The  volume  label  must  be
          identical within a set of multi volume archives.

     <B>SCHILY.volhdr.refdate</B>
          This keyword is used in dump mode if the  current  dump
          is an incremental dump with a level &gt; 0.  It represents
          the time the related dump did start.

     <B>SCHILY.volhdr.reflevel</B>
          This keyword is used in dump mode if the  current  dump
          is an incremental dump with a level &gt; 0.  It represents
          the level of the related dump.  The related dump is the
          last  dump with a level that is lower that the level of
          this dump.  If a dump with the  level  of  the  current
          dump  -1  exists,  then this is the related dump level.

Joerg Schilling       Last change: 05/10/19                    19


Schily's USER COMMANDS                                   <B><A HREF="STAR.4.html">STAR(4L)</A></B>

          Otherwise, the dump level is decremented until a  valid
          dump level could be found in the dump database.

          The value is an unsigned int with a valid range between
          0 and at least 100.

     <B>SCHILY.volhdr.tapesize</B>
          This keyword is used for multi volume archives and  may
          be  used  to  verify  the volume size on read back.  It
          represents the tape size expressed in 512  byte  units.
          If  this  keyword is set in multi volume mode, the size
          of the tape is not autodetected but set from a  command
          line option.

          The value is an unsigned int with a valid range between
          1  and  infinity.  An  implementation should be able to
          handle at least 64 bit unsigned values.

     <B>SCHILY.volhdr.volume</B>
          This keyword is used for  multi  volume  archives.   It
          represents  the volume number within a volume set.  The
          number used for the first volume is 1.

          The value is an unsigned int with a valid range between
          1  and  infinity.  An  implementation should be able to
          handle at least 31 bit unsigned values.


</PRE>
<H2>MULTI VOLUME ARCHIVE HANDLING</H2><PRE>
     To be documented in the future.


</PRE>
<H2>SEE ALSO</H2><PRE>

</PRE>
<H2>NOTES</H2><PRE>

</PRE>
<H2>BUGS</H2><PRE>

</PRE>
<H2>AUTHOR</H2><PRE>

Joerg Schilling       Last change: 05/10/19                    20

</PRE>
<HR>
<ADDRESS>
Man(1) output converted with
<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
</ADDRESS>
<p><hr>
<a href="http://www.fhg.de/"><IMG SRC="fhglogr.gif" ALT="FhG " BORDER=0></a>
<a href="http://www.fokus.fraunhofer.de/home/"><IMG SRC="fhlogo.gif" ALT="FhG FOKUS " BORDER=0></a>
<a href="http://www.berlios.de/"><IMG SRC="berliOS_logo.jpg" ALT="BerliOS " BORDER=0 WIDTH=159 HEIGHT=41></a>
<a href="http://cdrecord.berlios.de/old/private/index.html">
<IMG SRC="schilling.gif" ALT="Schily " BORDER=0 WIDTH=41 HEIGHT=54></a>
<a href="http://cdrecord.berlios.de/old/private/index.html">Schily's Home</a>
<a href="ftp://ftp.berlios.de/pub/ved/"><IMG SRC="vedpowered.gif" ALT="VED powered " BORDER=0 ></a>

</body>
</html>