XRootD
XrdZipDataDescriptor.hh
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // Copyright (c) 2011-2014 by European Organization for Nuclear Research (CERN)
3 // Author: Michal Simon <michal.simon@cern.ch>
4 //------------------------------------------------------------------------------
5 // This file is part of the XRootD software suite.
6 //
7 // XRootD is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Lesser General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // XRootD is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU Lesser General Public License
18 // along with XRootD. If not, see <http://www.gnu.org/licenses/>.
19 //
20 // In applying this licence, CERN does not waive the privileges and immunities
21 // granted to it by virtue of its status as an Intergovernmental Organization
22 // or submit itself to any jurisdiction.
23 //------------------------------------------------------------------------------
24 
25 #ifndef SRC_XRDZIP_XRDZIPDATADESCRIPTOR_HH_
26 #define SRC_XRDZIP_XRDZIPDATADESCRIPTOR_HH_
27 
28 #include <cstdint>
29 
30 namespace XrdZip
31 {
32  //---------------------------------------------------------------------------
33  // A data structure representing the Data Descriptor record
34  //---------------------------------------------------------------------------
36  {
37  static uint8_t GetSize( bool zip64 )
38  {
39  if( zip64 ) return sizeof( sign ) + 3 * sizeof( uint64_t );
40  return sizeof( sign ) + 3 * sizeof( uint32_t );
41  }
42 
43  static const uint16_t flag = 1 << 3; //< bit 3 is set
44  static const uint32_t sign = 0x08074b50;
45  };
46 }
47 
48 #endif /* SRC_XRDZIP_XRDZIPDATADESCRIPTOR_HH_ */
static const uint32_t sign
static uint8_t GetSize(bool zip64)
static const uint16_t flag