libStatGen Software 1
Loading...
Searching...
No Matches
GzipHeader Class Reference

Public Member Functions

bool readHeader (FILE *filePtr)
 
bool readHeader (UncompressedFileType &file)
 
bool isGzipFile ()
 
bool isBgzfFile ()
 

Detailed Description

Definition at line 25 of file GzipHeader.h.

Constructor & Destructor Documentation

◆ GzipHeader()

GzipHeader::GzipHeader ( )

Definition at line 24 of file GzipHeader.cpp.

25{
26 // clear the union via memset:
27 memset(headerBuffer, 0, sizeof(headerBuffer));
28}

◆ ~GzipHeader()

GzipHeader::~GzipHeader ( )

Definition at line 32 of file GzipHeader.cpp.

33{
34}

Member Function Documentation

◆ isBgzfFile()

bool GzipHeader::isBgzfFile ( )

Definition at line 111 of file GzipHeader.cpp.

112{
113 if (isGzipFile() && (si1 == 66) && (si2 == 67))
114 {
115 return true;
116 }
117 return false;
118}

◆ isGzipFile()

bool GzipHeader::isGzipFile ( )

Definition at line 100 of file GzipHeader.cpp.

101{
102 if ((id1 == 31) && (id2 == 139))
103 {
104 return true;
105 }
106 return false;
107}

◆ readHeader() [1/2]

bool GzipHeader::readHeader ( FILE *  filePtr)

Definition at line 39 of file GzipHeader.cpp.

40{
41 bool isGzip = false;
42
43 // If the file is not already open, return false.
44 if (filePtr == NULL)
45 {
46 // File is not open, so return false - not a gzip file.
47 return(false);
48 }
49
50 // Try to read a header from the file.
51 // if(144 == fread(buffer, 1, 144, filePtr))
52 if (GZIP_HEADER_SIZE == fread(buffer, 1, GZIP_HEADER_SIZE, filePtr))
53 {
54 memcpy(headerBuffer, buffer, GZIP_HEADER_SIZE);
55
56 // Successfully read enough bytes, so check to see if it is a GzipFile.
57 if (isGzipFile())
58 {
59 // It is a gzip file.
60 isGzip = true;
61 }
62 }
63
64 return isGzip;
65}

◆ readHeader() [2/2]

bool GzipHeader::readHeader ( UncompressedFileType file)

Definition at line 70 of file GzipHeader.cpp.

71{
72 bool isGzip = false;
73
74 // If the file is not already open, return false.
75 if (!file.isOpen())
76 {
77 // File is not open, so return false - not a gzip file.
78 return(false);
79 }
80
81 // Try to read a header from the file.
82 // if(144 == file.read(buffer, 1, 144, filePtr))
83 if ((int)GZIP_HEADER_SIZE == file.read(buffer, GZIP_HEADER_SIZE))
84 {
85 memcpy(headerBuffer, buffer, GZIP_HEADER_SIZE);
86
87 // Successfully read enough bytes, so check to see if it is a GzipFile.
88 if (isGzipFile())
89 {
90 // It is a gzip file.
91 isGzip = true;
92 }
93 }
94
95 return isGzip;
96}

Member Data Documentation

◆ bsize

uint16_t GzipHeader::bsize

Definition at line 64 of file GzipHeader.h.

◆ cm

uint8_t GzipHeader::cm

Definition at line 55 of file GzipHeader.h.

◆ flg

uint8_t GzipHeader::flg

Definition at line 56 of file GzipHeader.h.

◆ headerBuffer

char GzipHeader::headerBuffer[GzipHeader::GZIP_HEADER_SIZE]

Definition at line 66 of file GzipHeader.h.

◆ id1

uint8_t GzipHeader::id1

Definition at line 53 of file GzipHeader.h.

◆ id2

uint8_t GzipHeader::id2

Definition at line 54 of file GzipHeader.h.

◆ mtime

uint32_t GzipHeader::mtime

Definition at line 57 of file GzipHeader.h.

◆ os

uint8_t GzipHeader::os

Definition at line 59 of file GzipHeader.h.

◆ si1

uint8_t GzipHeader::si1

Definition at line 61 of file GzipHeader.h.

◆ si2

uint8_t GzipHeader::si2

Definition at line 62 of file GzipHeader.h.

◆ slen

uint16_t GzipHeader::slen

Definition at line 63 of file GzipHeader.h.

◆ xfl

uint8_t GzipHeader::xfl

Definition at line 58 of file GzipHeader.h.

◆ xlen

uint16_t GzipHeader::xlen

Definition at line 60 of file GzipHeader.h.


The documentation for this class was generated from the following files: