22 #ifndef ENDOFCENTRALDIR_H 23 #define ENDOFCENTRALDIR_H 28 #define CENTRAL_DIR_END_SIZE 22 29 #define CENTRAL_DIR_END64_LOCATOR_SIZE 20 30 #define CENTRAL_DIR_END64_SIZE 56 32 #define CENTRAL_DIR_END_SIGNATURE 0x06054b50 33 #define CENTRAL_DIR_END64_SIGNATURE 0x06064b50 34 #define CENTRAL_DIR_END64_LOCATOR_SIGNATURE 0x07064b50 44 bool read(QIODevice* ioDevice);
45 qint32 write(QIODevice* ioDevice);
47 bool needsZip64()
const 49 return numberOfThisDisk >= 0xffff || numberOfDiskCdStarts >= 0xffff ||
50 numberOfCdEntriesOnDisk >= 0xffff || numberOfEntries >= 0xffff ||
51 sizeOfCD >= 0xffffffff || offsetToStartOfCD >= 0xffffffff;
54 QString getComment( );
55 void setComment(
const QString& cmt );
59 return (signature == CENTRAL_DIR_END_SIGNATURE &&
60 ((sizeOfCD || !numberOfEntries) && (numberOfEntries || !sizeOfCD) ));
63 qint32 size(){
return CENTRAL_DIR_END_SIZE + comment.size(); }
66 quint16 numberOfThisDisk;
67 quint16 numberOfDiskCdStarts;
68 quint16 numberOfCdEntriesOnDisk;
69 quint16 numberOfEntries;
71 quint32 offsetToStartOfCD;
72 quint16 commentLength;
83 bool read(QIODevice* ioDevice);
85 qint32 write(QIODevice* ioDevice);
89 return ( signature == CENTRAL_DIR_END64_SIGNATURE &&
90 (numberOfEntries != numberOfCdEntriesOnDisk ||
91 numberOfDiskCdStarts != 0 || numberOfThisDisk != 0 ||
92 ((sizeOfCD || !numberOfEntries) && (numberOfEntries || !sizeOfCD))) );
95 qint32 size(){
return CENTRAL_DIR_END64_SIZE; }
98 quint64 sizeOfzip64EndOfCDRecord;
99 quint16 versionMadeBy;
100 quint16 versionNeeded;
101 quint32 numberOfThisDisk;
102 quint32 numberOfDiskCdStarts;
103 quint64 numberOfCdEntriesOnDisk;
104 quint64 numberOfEntries;
106 quint64 offsetToStartOfCD;
107 QByteArray extensibleData;
111 #endif // ENDOFCENTRALDIR_H Definition: EndOfCentralDir.h:36
Definition: EndOfCentralDir.h:77