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