OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [include/] [tar.h] - Blame information for rev 1325

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1325 phoenix
/* Extended tar format from POSIX.1.
2
   Copyright (C) 1992, 1996 Free Software Foundation, Inc.
3
   This file is part of the GNU C Library.
4
   Written by David J. MacKenzie.
5
 
6
   The GNU C Library is free software; you can redistribute it and/or
7
   modify it under the terms of the GNU Lesser General Public
8
   License as published by the Free Software Foundation; either
9
   version 2.1 of the License, or (at your option) any later version.
10
 
11
   The GNU C Library is distributed in the hope that it will be useful,
12
   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
   Lesser General Public License for more details.
15
 
16
   You should have received a copy of the GNU Lesser General Public
17
   License along with the GNU C Library; if not, write to the Free
18
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19
   02111-1307 USA.  */
20
 
21
#ifndef _TAR_H
22
#define _TAR_H  1
23
 
24
/* A tar archive consists of 512-byte blocks.
25
   Each file in the archive has a header block followed by 0+ data blocks.
26
   Two blocks of NUL bytes indicate the end of the archive.  */
27
 
28
/* The fields of header blocks:
29
   All strings are stored as ISO 646 (approximately ASCII) strings.
30
 
31
   Fields are numeric unless otherwise noted below; numbers are ISO 646
32
   representations of octal numbers, with leading zeros as needed.
33
 
34
   linkname is only valid when typeflag==LNKTYPE.  It doesn't use prefix;
35
   files that are links to pathnames >100 chars long can not be stored
36
   in a tar archive.
37
 
38
   If typeflag=={LNKTYPE,SYMTYPE,DIRTYPE} then size must be 0.
39
 
40
   devmajor and devminor are only valid for typeflag=={BLKTYPE,CHRTYPE}.
41
 
42
   chksum contains the sum of all 512 bytes in the header block,
43
   treating each byte as an 8-bit unsigned value and treating the
44
   8 bytes of chksum as blank characters.
45
 
46
   uname and gname are used in preference to uid and gid, if those
47
   names exist locally.
48
 
49
   Field Name   Byte Offset     Length in Bytes Field Type
50
   name         0                100             NUL-terminated if NUL fits
51
   mode         100             8
52
   uid          108             8
53
   gid          116             8
54
   size         124             12
55
   mtime        136             12
56
   chksum       148             8
57
   typeflag     156             1               see below
58
   linkname     157             100             NUL-terminated if NUL fits
59
   magic        257             6               must be TMAGIC (NUL term.)
60
   version      263             2               must be TVERSION
61
   uname        265             32              NUL-terminated
62
   gname        297             32              NUL-terminated
63
   devmajor     329             8
64
   devminor     337             8
65
   prefix       345             155             NUL-terminated if NUL fits
66
 
67
   If the first character of prefix is '\0', the file name is name;
68
   otherwise, it is prefix/name.  Files whose pathnames don't fit in that
69
   length can not be stored in a tar archive.  */
70
 
71
/* The bits in mode: */
72
#define TSUID   04000
73
#define TSGID   02000
74
#define TSVTX   01000
75
#define TUREAD  00400
76
#define TUWRITE 00200
77
#define TUEXEC  00100
78
#define TGREAD  00040
79
#define TGWRITE 00020
80
#define TGEXEC  00010
81
#define TOREAD  00004
82
#define TOWRITE 00002
83
#define TOEXEC  00001
84
 
85
/* The values for typeflag:
86
   Values 'A'-'Z' are reserved for custom implementations.
87
   All other values are reserved for future POSIX.1 revisions.  */
88
 
89
#define REGTYPE         '0'     /* Regular file (preferred code).  */
90
#define AREGTYPE        '\0'    /* Regular file (alternate code).  */
91
#define LNKTYPE         '1'     /* Hard link.  */
92
#define SYMTYPE         '2'     /* Symbolic link (hard if not supported).  */
93
#define CHRTYPE         '3'     /* Character special.  */
94
#define BLKTYPE         '4'     /* Block special.  */
95
#define DIRTYPE         '5'     /* Directory.  */
96
#define FIFOTYPE        '6'     /* Named pipe.  */
97
#define CONTTYPE        '7'     /* Contiguous file */
98
 /* (regular file if not supported).  */
99
 
100
/* Contents of magic field and its length.  */
101
#define TMAGIC  "ustar"
102
#define TMAGLEN 6
103
 
104
/* Contents of the version field and its length.  */
105
#define TVERSION        "00"
106
#define TVERSLEN        2
107
 
108
#endif /* tar.h */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.