Rizin
unix-like reverse engineering framework and cli tools
tar.h
Go to the documentation of this file.
1
/* $OpenBSD: tar.h,v 1.7 2009/04/24 18:54:34 chl Exp $ */
2
/*
3
* Copyright (c) Ian F. Darwin 1986-1995.
4
* Software written by Ian F. Darwin and others;
5
* maintained 1995-present by Christos Zoulas and others.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
* 1. Redistributions of source code must retain the above copyright
11
* notice immediately at the beginning of the file, without modification,
12
* this list of conditions, and the following disclaimer.
13
* 2. Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in the
15
* documentation and/or other materials provided with the distribution.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
21
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
* SUCH DAMAGE.
28
*/
29
/*
30
* Header file for public domain tar (tape archive) program.
31
*
32
* @(#)tar.h 1.20 86/10/29 Public Domain.
33
*
34
* Created 25 August 1985 by John Gilmore, ihnp4!hoptoad!gnu.
35
*
36
* $Id: tar.h,v 1.7 2009/04/24 18:54:34 chl Exp $ # checkin only
37
*/
38
39
/*
40
* Header block on tape.
41
*
42
* I'm going to use traditional DP naming conventions here.
43
* A "block" is a big chunk of stuff that we do I/O on.
44
* A "record" is a piece of info that we care about.
45
* Typically many "record"s fit into a "block".
46
*/
47
#define RECORDSIZE 512
48
#define NAMSIZ 100
49
#define TUNMLEN 32
50
#define TGNMLEN 32
51
52
union
record
{
53
char
charptr
[
RECORDSIZE
];
54
struct
header
{
55
char
name
[
NAMSIZ
];
56
char
mode
[8];
57
char
uid
[8];
58
char
gid
[8];
59
char
size
[12];
60
char
mtime
[12];
61
char
chksum
[8];
62
char
linkflag
;
63
char
linkname
[
NAMSIZ
];
64
char
magic
[8];
65
char
uname
[
TUNMLEN
];
66
char
gname
[
TGNMLEN
];
67
char
devmajor
[8];
68
char
devminor
[8];
69
}
header
;
70
};
71
72
/* The magic field is filled with this if uname and gname are valid. */
73
#define TMAGIC "ustar"
/* 5 chars and a null */
74
#define GNUTMAGIC "ustar "
/* 7 chars and a null */
size
voidpf void uLong size
Definition:
ioapi.h:138
mode
const char int mode
Definition:
ioapi.h:137
name
Definition:
z80asm.h:102
record::header
Definition:
tar.h:54
record::header::chksum
char chksum[8]
Definition:
tar.h:61
record::header::uid
char uid[8]
Definition:
tar.h:57
record::header::magic
char magic[8]
Definition:
tar.h:64
record::header::linkname
char linkname[NAMSIZ]
Definition:
tar.h:63
record::header::gid
char gid[8]
Definition:
tar.h:58
record::header::gname
char gname[TGNMLEN]
Definition:
tar.h:66
record::header::devmajor
char devmajor[8]
Definition:
tar.h:67
record::header::devminor
char devminor[8]
Definition:
tar.h:68
record::header::linkflag
char linkflag
Definition:
tar.h:62
record::header::uname
char uname[TUNMLEN]
Definition:
tar.h:65
record::header::mtime
char mtime[12]
Definition:
tar.h:60
RECORDSIZE
#define RECORDSIZE
Definition:
tar.h:47
TUNMLEN
#define TUNMLEN
Definition:
tar.h:49
TGNMLEN
#define TGNMLEN
Definition:
tar.h:50
NAMSIZ
#define NAMSIZ
Definition:
tar.h:48
record
Definition:
tar.h:52
record::charptr
char charptr[RECORDSIZE]
Definition:
tar.h:53
record::header
struct record::header header
librz
magic
tar.h
Generated by
1.9.1