XRootD
XrdZip::dos_timestmp Struct Reference

#include <XrdZipUtils.hh>

+ Collaboration diagram for XrdZip::dos_timestmp:

Public Member Functions

 dos_timestmp ()
 
 dos_timestmp (time_t timestmp)
 

Public Attributes

uint16_t date
 
uint16_t time
 

Static Public Attributes

static const uint16_t day_mask = 0x1f
 
static const uint8_t day_shift = 0
 
static const uint16_t hour_mask = 0x1f
 
static const uint8_t hour_shift = 11
 
static const uint16_t min_mask = 0x3f
 
static const uint8_t min_shift = 5
 
static const uint16_t mon_mask = 0x0f
 
static const uint8_t mon_shift = 5
 
static const uint16_t sec_mask = 0x1f
 
static const uint8_t sec_shift = 0
 
static const uint16_t year_mask = 0x7f
 
static const uint8_t year_shift = 9
 

Detailed Description

Definition at line 104 of file XrdZipUtils.hh.

Constructor & Destructor Documentation

◆ dos_timestmp() [1/2]

XrdZip::dos_timestmp::dos_timestmp ( )
inline

Definition at line 109 of file XrdZipUtils.hh.

109  : time( 0 ), date( 0 )
110  {
111  const std::time_t now = std::time( nullptr );
112  const std::tm calendar_time = *std::localtime( std::addressof( now ) );
113 
114  time |= ( hour_mask & uint16_t( calendar_time.tm_hour ) ) << hour_shift;
115  time |= ( min_mask & uint16_t( calendar_time.tm_min ) ) << min_shift;
116  time |= ( sec_mask & uint16_t( calendar_time.tm_sec / 2 ) ) << sec_shift;
117 
118  date |= ( year_mask & uint16_t( calendar_time.tm_year - 1980 ) ) << year_shift;
119  date |= ( mon_mask & uint16_t( calendar_time.tm_mon ) ) << mon_shift;
120  date |= ( day_mask & uint16_t( calendar_time.tm_mday ) ) << day_shift;
121  }
static const uint8_t mon_shift
Definition: XrdZipUtils.hh:162
static const uint8_t hour_shift
Definition: XrdZipUtils.hh:150
static const uint8_t day_shift
Definition: XrdZipUtils.hh:161
static const uint16_t day_mask
Definition: XrdZipUtils.hh:157
static const uint16_t sec_mask
Definition: XrdZipUtils.hh:144
static const uint8_t min_shift
Definition: XrdZipUtils.hh:149
static const uint16_t min_mask
Definition: XrdZipUtils.hh:145
static const uint16_t year_mask
Definition: XrdZipUtils.hh:159
static const uint16_t mon_mask
Definition: XrdZipUtils.hh:158
static const uint8_t year_shift
Definition: XrdZipUtils.hh:163
static const uint8_t sec_shift
Definition: XrdZipUtils.hh:148
static const uint16_t hour_mask
Definition: XrdZipUtils.hh:146

References date, day_mask, day_shift, hour_mask, hour_shift, min_mask, min_shift, mon_mask, mon_shift, sec_mask, sec_shift, time, year_mask, and year_shift.

◆ dos_timestmp() [2/2]

XrdZip::dos_timestmp::dos_timestmp ( time_t  timestmp)
inline

Definition at line 126 of file XrdZipUtils.hh.

126  : time( 0 ), date( 0 )
127  {
128  const std::tm calendar_time = *std::localtime( std::addressof( timestmp ) );
129 
130  time |= ( hour_mask & uint16_t( calendar_time.tm_hour ) ) << hour_shift;
131  time |= ( min_mask & uint16_t( calendar_time.tm_min ) ) << min_shift;
132  time |= ( sec_mask & uint16_t( calendar_time.tm_sec / 2 ) ) << sec_shift;
133 
134  date |= ( year_mask & uint16_t( calendar_time.tm_year - 1980 ) ) << year_shift;
135  date |= ( mon_mask & uint16_t( calendar_time.tm_mon ) ) << mon_shift;
136  date |= ( day_mask & uint16_t( calendar_time.tm_mday ) ) << day_shift;
137  }

References date, day_mask, day_shift, hour_mask, hour_shift, min_mask, min_shift, mon_mask, mon_shift, sec_mask, sec_shift, time, year_mask, and year_shift.

Member Data Documentation

◆ date

uint16_t XrdZip::dos_timestmp::date

◆ day_mask

const uint16_t XrdZip::dos_timestmp::day_mask = 0x1f
static

Definition at line 157 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ day_shift

const uint8_t XrdZip::dos_timestmp::day_shift = 0
static

Definition at line 161 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ hour_mask

const uint16_t XrdZip::dos_timestmp::hour_mask = 0x1f
static

Definition at line 146 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ hour_shift

const uint8_t XrdZip::dos_timestmp::hour_shift = 11
static

Definition at line 150 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ min_mask

const uint16_t XrdZip::dos_timestmp::min_mask = 0x3f
static

Definition at line 145 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ min_shift

const uint8_t XrdZip::dos_timestmp::min_shift = 5
static

Definition at line 149 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ mon_mask

const uint16_t XrdZip::dos_timestmp::mon_mask = 0x0f
static

Definition at line 158 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ mon_shift

const uint8_t XrdZip::dos_timestmp::mon_shift = 5
static

Definition at line 162 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ sec_mask

const uint16_t XrdZip::dos_timestmp::sec_mask = 0x1f
static

Definition at line 144 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ sec_shift

const uint8_t XrdZip::dos_timestmp::sec_shift = 0
static

Definition at line 148 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ time

uint16_t XrdZip::dos_timestmp::time

◆ year_mask

const uint16_t XrdZip::dos_timestmp::year_mask = 0x7f
static

Definition at line 159 of file XrdZipUtils.hh.

Referenced by dos_timestmp().

◆ year_shift

const uint8_t XrdZip::dos_timestmp::year_shift = 9
static

Definition at line 163 of file XrdZipUtils.hh.

Referenced by dos_timestmp().


The documentation for this struct was generated from the following file: