Wireshark
4.5.0
The Wireshark network protocol analyzer
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
Variables
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
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
m
o
p
r
s
t
u
v
w
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
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
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
Typedefs
a
b
c
d
e
f
g
h
i
m
p
r
s
t
u
v
w
Enumerations
Enumerator
a
b
c
e
f
h
i
n
o
r
s
t
w
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
wsutil
epochs.h
Go to the documentation of this file.
1
12
#ifndef __EPOCHS_H__
13
#define __EPOCHS_H__
14
15
#include <glib.h>
16
17
/*
18
* Deltas between the epochs for various non-UN*X time stamp formats and
19
* the January 1, 1970, 00:00:00 (proleptic?) UTC epoch for the UN*X time
20
* stamp format.
21
*
22
* XXX - All of these are unsigned, but note that most of these epochs are
23
* before the UN*X epoch but one is afterwards, which changes whether the
24
* delta should be subtracted or added to a time in the other epoch to
25
* produce a time_t in the UN*X epoch. Perhaps they should be signed,
26
* or there should macros that do the arithmetic and return a time_t?
27
*/
28
29
/*
30
* 1900-01-01 00:00:00 (proleptic?) UTC.
31
* Used by a number of time formats.
32
*/
33
#define EPOCH_DELTA_1900_01_01_00_00_00_UTC 2208988800U
34
35
/*
36
* 1904-01-01 00:00:00 (proleptic?) UTC.
37
* Used in the classic Mac OS, and by formats, such as MPEG-4 Part 14 (MP4),
38
* which is based on Apple's QuickTime format.
39
*/
40
#define EPOCH_DELTA_1904_01_01_00_00_00_UTC 2082844800U
41
42
/*
43
* 1601-01-01 (proleptic Gregorian) 00:00:00 (proleptic?) UTC.
44
* The Windows NT epoch, used in a number of places, as it is
45
* the start of a 400 year Gregorian cycle.
46
*
47
* This is
48
*
49
* 369*365.25*24*60*60-(3*24*60*60+6*60*60)
50
*
51
* or equivalently,
52
*
53
* (89*4*365.25+(3*4+1)*365)*24*60*60
54
*
55
* 1970-1601 is 369; 365.25 is the average length of a year in days,
56
* including leap years.
57
*
58
* 369 = 4*92 + 1, so there are 92 groups of 4 consecutive years plus
59
* one leftover year, 1969, with 365 days.
60
*
61
* All but three of the groups of 4 consecutive years average 365.25 days
62
* per year, as they have one leap year in the group. However, 1700, 1800,
63
* and 1900 were not leap years, as, while they're all evenly divisible by 4,
64
* they're also evenly divisible by 100, but not evenly divisible by 400.
65
*
66
* So we have 89 groups of 4 consecutive years that average 365.25
67
* days per year, 3 groups of 4 consecutive years that average 365 days
68
* (as they lack a leap year), and one leftover year, 1969, that is
69
* 365 days long.
70
*/
71
#define EPOCH_DELTA_1601_01_01_00_00_00_UTC UINT64_C(11644473600)
72
73
/*
74
* 2000-01-01 00:00:00 UTC.
75
* Used by the Zigbee Zigbee Cluster Library protocol.
76
*
77
* This is *after* the UN*X epoch, so to convert from a time in seconds from
78
* this epoch this delta needs to be *added*, unlike the other values.
79
*/
80
#define EPOCH_DELTA_2000_01_01_00_00_00_UTC UINT64_C(((3*365 + 366)*7 + 2*365)*24*3600)
81
82
#endif
/* __EPOCHS_H__ */
Generated by
1.9.8