Loading [MathJax]/extensions/tex2jax.js
ug4
Toggle main menu visibility
ug4
Modules
ugBase
libAlgebra
libDiscretization
libGrid
Plugins
Registry
Scripts
Apps
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
i
j
l
m
n
o
p
q
s
t
u
v
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
o
p
q
r
s
t
v
Enumerations
a
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
e
f
g
h
m
n
o
p
r
s
t
v
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
x
Related Symbols
a
b
c
d
f
g
h
i
k
l
m
n
o
p
s
t
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
e
g
l
n
o
p
r
s
u
v
y
Typedefs
Enumerations
Enumerator
b
g
l
n
t
y
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
▼
ug4
►
ug4 - Documentation
►
Modules
►
Namespaces
►
Classes
▼
Files
►
File List
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
tar.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013-2015: G-CSC, Goethe University Frankfurt
3
* Author: Martin Rupp
4
*
5
* This file is part of UG4.
6
*
7
* UG4 is free software: you can redistribute it and/or modify it under the
8
* terms of the GNU Lesser General Public License version 3 (as published by the
9
* Free Software Foundation) with the following additional attribution
10
* requirements (according to LGPL/GPL v3 §7):
11
*
12
* (1) The following notice must be displayed in the Appropriate Legal Notices
13
* of covered and combined works: "Based on UG4 (www.ug4.org/license)".
14
*
15
* (2) The following notice must be displayed at a prominent place in the
16
* terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
17
*
18
* (3) The following bibliography is recommended for citation and must be
19
* preserved in all covered files:
20
* "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
21
* parallel geometric multigrid solver on hierarchically distributed grids.
22
* Computing and visualization in science 16, 4 (2013), 151-164"
23
* "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
24
* flexible software system for simulating pde based models on high performance
25
* computers. Computing and visualization in science 16, 4 (2013), 165-179"
26
*
27
* This program is distributed in the hope that it will be useful,
28
* but WITHOUT ANY WARRANTY; without even the implied warranty of
29
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30
* GNU Lesser General Public License for more details.
31
*/
32
33
#ifndef __H__TAR_H_
34
#define __H__TAR_H_
35
36
#include <stdio.h>
37
namespace
ug
{
38
struct
TarHeader
39
{
40
char
filename
[100];
41
char
filemode
[8];
42
char
userID
[8];
43
char
groupID
[8];
44
char
octalFileSize
[12];
45
char
octalModificationTimeStamp
[12];
46
char
checksum
[8];
47
char
linkIndicator
;
48
char
linkedFilename
[100];
49
50
char
ustarIndicator
[6];
51
char
ustarVersion
[2];
52
char
ustarOwnerUserName
[32];
53
char
ustarOwnerGroupName
[32];
54
char
ustarDeviceMajorNumber
[8];
55
char
ustarDeviceMinorNumber
[8];
56
char
ustarFilenamePrefix
[155];
57
char
padding
[12];
58
59
60
//char padding[512 - (100+8+8+8+12+12+8+1+100)];
61
62
TarHeader
()
63
{
64
memset(
this
, 0,
sizeof
(
TarHeader
));
65
strcpy(
filemode
,
"000644 "
);
66
strcpy(
userID
,
"000765 "
);
67
strcpy(
groupID
,
"000024 "
);
68
strcpy(
ustarIndicator
,
"ustar"
);
69
memcpy(
ustarVersion
,
"00"
, 2);
70
strcpy(
ustarOwnerUserName
,
""
);
71
strcpy(
ustarOwnerGroupName
,
""
);
72
strcpy(
ustarDeviceMajorNumber
,
"000000 "
);
73
strcpy(
ustarDeviceMinorNumber
,
"000000 "
);
74
75
sprintf
(
octalModificationTimeStamp
,
"%o"
, ((
unsigned
int
)time(NULL)));
76
// strncpy(octalModificationTimeStamp, "12253557334 ", 12);
77
linkIndicator
=
'0'
;
78
}
62
TarHeader
() {
…
}
79
void
set_filename
(std::string
name
)
80
{
81
strcpy(
filename
,
name
.c_str());
82
}
79
void
set_filename
(std::string
name
) {
…
}
83
void
set_filesize
(
size_t
size)
84
{
85
char
buf[13];
86
sprintf
(buf,
"%011o "
, (
unsigned
int
)size);
87
memcpy(
octalFileSize
, buf, 12);
88
}
83
void
set_filesize
(
size_t
size) {
…
}
89
90
void
set_checksum
()
91
{
92
memset(
checksum
, 32,
sizeof
(
checksum
));
93
unsigned
char
*
p
= (
unsigned
char
*)
this
;
94
unsigned
int
cs = 0;
95
for
(
size_t
i=0; i<
sizeof
(
TarHeader
); i++)
96
cs +=
p
[i];
97
sprintf
(
checksum
,
"%06o"
, ((
unsigned
int
)cs));
98
// std:: cout << "checksum = " << checksum << "\n";
99
}
90
void
set_checksum
() {
…
}
100
};
38
struct
TarHeader
{
…
};
101
102
}
103
#endif
/* TAR_H_ */
p
parameterString p
name
location name
Definition
checkpoint_util.lua:128
sprintf
function common sprintf(s,...)
ug
the ug namespace
ug::TarHeader
Definition
tar.h:39
ug::TarHeader::set_filesize
void set_filesize(size_t size)
Definition
tar.h:83
ug::TarHeader::linkedFilename
char linkedFilename[100]
Definition
tar.h:48
ug::TarHeader::linkIndicator
char linkIndicator
Definition
tar.h:47
ug::TarHeader::set_filename
void set_filename(std::string name)
Definition
tar.h:79
ug::TarHeader::ustarOwnerGroupName
char ustarOwnerGroupName[32]
Definition
tar.h:53
ug::TarHeader::ustarIndicator
char ustarIndicator[6]
Definition
tar.h:50
ug::TarHeader::padding
char padding[12]
Definition
tar.h:57
ug::TarHeader::filename
char filename[100]
Definition
tar.h:40
ug::TarHeader::ustarVersion
char ustarVersion[2]
Definition
tar.h:51
ug::TarHeader::ustarDeviceMinorNumber
char ustarDeviceMinorNumber[8]
Definition
tar.h:55
ug::TarHeader::groupID
char groupID[8]
Definition
tar.h:43
ug::TarHeader::set_checksum
void set_checksum()
Definition
tar.h:90
ug::TarHeader::octalModificationTimeStamp
char octalModificationTimeStamp[12]
Definition
tar.h:45
ug::TarHeader::ustarFilenamePrefix
char ustarFilenamePrefix[155]
Definition
tar.h:56
ug::TarHeader::ustarOwnerUserName
char ustarOwnerUserName[32]
Definition
tar.h:52
ug::TarHeader::filemode
char filemode[8]
Definition
tar.h:41
ug::TarHeader::checksum
char checksum[8]
Definition
tar.h:46
ug::TarHeader::userID
char userID[8]
Definition
tar.h:42
ug::TarHeader::TarHeader
TarHeader()
Definition
tar.h:62
ug::TarHeader::octalFileSize
char octalFileSize[12]
Definition
tar.h:44
ug::TarHeader::ustarDeviceMajorNumber
char ustarDeviceMajorNumber[8]
Definition
tar.h:54
ugbase
common
util
tar.h
Generated on Mon Feb 24 2025 01:13:17 for ug4 by
1.9.8