File: zipper.xml

package info (click to toggle)
fpc 3.2.2%2Bdfsg-48
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 341,456 kB
  • sloc: pascal: 3,820,194; xml: 194,356; ansic: 9,637; asm: 8,482; java: 5,346; sh: 4,813; yacc: 3,956; makefile: 2,705; lex: 2,661; javascript: 2,454; sql: 929; php: 474; cpp: 145; perl: 136; sed: 132; csh: 34; tcl: 7
file content (1731 lines) | stat: -rw-r--r-- 64,748 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
<?xml version="1.0" encoding="utf-8"?>
<fpdoc-descriptions>
  <package name="fcl">
    <module name="zipper">
      <short>Unit implementing zip/unzip compression/decompression functionality</short>
      <descr>
        <p>
          <file>zipper</file> implements zip compression/decompression compatible with the popular .ZIP format. The zip file format is documented at:
        </p>
        <p>
           <url href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT">
             http://www.pkware.com/documents/casestudies/APPNOTE.TXT</url>.
        </p>
         <p>
           The Pascal conversion of the standard zlib library was implemented by Jacques Nomssi Nzali. It is used in the FCL to implement the <var>TCompressionStream</var> class.
         </p>
      </descr>
        
      <!-- unresolved references -->
      <element name="BaseUnix"/>
      <element name="SysUtils"/>
      <element name="Classes"/>
      <element name="ZStream"/>
        
      <element name="END_OF_CENTRAL_DIR_SIGNATURE">
        <short>Marker specifying end of directory within zip file</short>
      </element>
      <element name="ZIP64_END_OF_CENTRAL_DIR_SIGNATURE">
        <short>Marker specifying end of the directory within a 64-bit zip file</short>
      </element>
      <element name="ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE">
        <short/>
      </element>
      <element name="LOCAL_FILE_HEADER_SIGNATURE">
        <short>Marker specifying a file entry within the zip file</short>
        <descr>Denotes beginning of a file header within the zip file. A file header follows this marker, followed by the file data proper.</descr>
      </element>
      <element name="CENTRAL_FILE_HEADER_SIGNATURE">
        <short>Marker specifying a file entry within the zip directory</short>
        <descr>Denotes beginning of a file entry inside the zip directory. A file header follows this marker.
</descr>
      </element>
      <element name="ZIP64_HEADER_ID">
        <short/>
      </element>
      <element name="INFOZIP_UNICODE_PATH_ID">
        <short/>
      </element>
      <element name="EFS_LANGUAGE_ENCODING_FLAG">
        <short>
          Language encoding flag (EFS). When set the file name  and comment fields must use UTF-8 encoding.
        </short>
      </element>

      <element name="OS_FAT">
        <short>MS-DOS and OS/2 (FAT/VFAT/FAT32)</short>
      </element>
      <element name="OS_UNIX">
        <short>UNIX-like platforms</short>
      </element>
      <element name="OS_OS2">
        <short>OS/2 HPFS</short>
      </element>
      <element name="OS_NTFS">
        <short>NTFS</short>
      </element>
      <element name="OS_VFAT">
        <short>VFAT</short>
      </element>
      <element name="OS_OSX">
        <short>Mac OSX</short>
      </element>
      <element name="UNIX_MASK">
        <short>Unix permission mask</short>
      </element>
      <element name="UNIX_FIFO">
        <short>Unix FIFO file type</short>
      </element>
      <element name="UNIX_CHAR">
        <short>Unix character device</short>
      </element>
      <element name="UNIX_DIR">
        <short>Unix directory</short>
      </element>
      <element name="UNIX_BLK">
        <short>Unix block device</short>
      </element>
      <element name="UNIX_FILE">
        <short>Unix regular file</short>
      </element>
      <element name="UNIX_LINK">
        <short>Unix symbolic link</short>
      </element>
      <element name="UNIX_SOCK">
        <short>Unix sockets</short>
      </element>
      <element name="UNIX_RUSR">
        <short>Unix user read permission</short>
      </element>
      <element name="UNIX_WUSR">
        <short>Unix user write permission</short>
      </element>
      <element name="UNIX_XUSR">
        <short>Unix user execute permission</short>
      </element>
      <element name="UNIX_RGRP">
        <short>Unix group read permission</short>
      </element>
      <element name="UNIX_WGRP">
        <short>Unix group write permission</short>
      </element>
      <element name="UNIX_XGRP">
        <short>Unix group execute permission</short>
      </element>
      <element name="UNIX_ROTH">
        <short>Unix other users read permission</short>
      </element>
      <element name="UNIX_WOTH">
        <short>Unix other users write permission</short>
      </element>
      <element name="UNIX_XOTH">
        <short>Unix other users execute permission</short>
      </element>
      <element name="UNIX_DEFAULT">
        <short>Unix default attributes</short>
      </element>

      <element name="Local_File_Header_Type">
        <short>Record structure containing local file header</short>
      </element>
      <element name="Local_File_Header_Type.Signature">
        <short>Signature for local file header within zip file</short>
      </element>
      <element name="Local_File_Header_Type.Extract_Version_Reqd">
        <short>Minimum zip version needed to extract</short>
      </element>
      <element name="Local_File_Header_Type.Bit_Flag">
        <short>General purpose bit flag</short>
        <descr>
          Please see zip format documentation for details.
        </descr>
      </element>
      <element name="Local_File_Header_Type.Compress_Method">
        <short>Compression method</short>
      </element>
      <element name="Local_File_Header_Type.Last_Mod_Time">
        <short>Last modification date of file</short>
      </element>
      <element name="Local_File_Header_Type.Last_Mod_Date">
        <short>Last modification date of file</short>
      </element>
      <element name="Local_File_Header_Type.Crc32">
        <short>CRC 32</short>
        <descr>CRC 32 value for a file, presumably containing the CRC 32 checksum of file data.
</descr>
      </element>
      <element name="Local_File_Header_Type.Compressed_Size">
        <short>Size in bytes of compressed file</short>
      </element>
      <element name="Local_File_Header_Type.Uncompressed_Size">
        <short>Size in bytes of decompressed file</short>
      </element>
      <element name="Local_File_Header_Type.Filename_Length">
        <short>File name length</short>
      </element>
      <element name="Local_File_Header_Type.Extra_Field_Length">
        <short>Extra field length</short>
        <descr>
          <p>Length of extra field in local file header. An extra field contains program-specific information and should be ignored if the extra field is not supported.</p>
</descr>
      </element>

      <element name="Extensible_Data_Field_Header_Type">
        <short>Extra fields marker</short>
        <descr>
          Beginning of extra field. Occurs after the local file header and after the central directory header.
        </descr>
        <seealso/>
      </element>

      <element name="Extensible_Data_Field_Header_Type.Header_ID">
        <short>Extra field header ID</short>
        <descr>
          <p>
            $0001 (ZIP64_HEADER_ID) Zip64 extended information extra field.
            $0009 OS/2: extended attributes.
            $000a NTFS: (Win32 really).
            $000d UNIX: uid, gid etc.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="Extensible_Data_Field_Header_Type.Data_Size">
        <short>Extra field data size</short>
        <descr>
          <p>
            Size of following field data.
            Field data should follow the extensible header type information.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="Zip64_Extended_Info_Field_Type ">
        <short>Extra field data type</short>
        <descr>
          <p>
            Packed Record occurs after Extensible_Data_Field_Header_Type.
            Overrides the Local and Central Directory data.
            Stored in extra field.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="Zip64_Extended_Info_Field_Type.Original_Size">
        <short>Unompressed file size</short>
        <descr>
          Uncompressed file size.
        </descr>
        <seealso/>
      </element>

      <element name="Zip64_Extended_Info_Field_Type.Compressed_Size">
        <short>Compressed data size</short>
        <descr>
          Compressed data size.
        </descr>
        <seealso/>
      </element>

      <element name="Zip64_Extended_Info_Field_Type.Relative_Hdr_Offset">
        <short>Offset to the local header record.</short>
        <descr>
          Offset to the local header record.
        </descr>
        <seealso/>
      </element>

      <element name="Zip64_Extended_Info_Field_Type.Disk_Start_Number">
        <short> Disk number where this file starts.</short>
        <descr>
          Disk number where this file starts.
        </descr>
        <seealso/>
      </element>

      <element name="Central_File_Header_Type">
        <short>Record structure containing central file header</short>
        <descr>This record contains the structure for a file header within the central directory.</descr>
      </element>
      <element name="Central_File_Header_Type.Signature">
        <short>Central file header signature</short>
      </element>
      <element name="Central_File_Header_Type.MadeBy_Version">
        <short>Zip version that compressed the file</short>
      </element>
      <element name="Central_File_Header_Type.Extract_Version_Reqd">
        <short>Zip version needed to extract file</short>
      </element>
      <element name="Central_File_Header_Type.Bit_Flag">
        <short>Central file general purpose bit flag</short>
        <descr>
          General purpose flag for a file entry in the central directory.
</descr>
      </element>
      <element name="Central_File_Header_Type.Compress_Method">
        <short>Compression method</short>
        <descr>Method used to compress the file</descr>
      </element>
      <element name="Central_File_Header_Type.Last_Mod_Time">
        <short>File last modification time</short>
      </element>
      <element name="Central_File_Header_Type.Last_Mod_Date">
        <short>File last modification date</short>
      </element>
      <element name="Central_File_Header_Type.Crc32">
        <short>CRC-32 checksum</short>
      </element>
      <element name="Central_File_Header_Type.Compressed_Size">
        <short>Compressed size of file</short>
      </element>
      <element name="Central_File_Header_Type.Uncompressed_Size">
        <short>Uncompressed size of file</short>
      </element>
      <element name="Central_File_Header_Type.Filename_Length">
        <short>Length of file name</short>
      </element>
      <element name="Central_File_Header_Type.Extra_Field_Length">
        <short>Extra field length</short>
        <descr>Length of extra field (or 0 if none). An extra field contains program-specific information and should be ignored if the extra field is not supported.</descr>
      </element>
      <element name="Central_File_Header_Type.File_Comment_Length">
        <short>File comment length</short>
        <descr>Length of file comment (or 0 if none).</descr>
      </element>
      <element name="Central_File_Header_Type.Starting_Disk_Num">
        <short>Starting disk number</short>
      </element>
      <element name="Central_File_Header_Type.Internal_Attributes">
        <short>Internal file attributes</short>
      </element>
      <element name="Central_File_Header_Type.External_Attributes">
        <short>External file attributes</short>
      </element>
      <element name="Central_File_Header_Type.Local_Header_Offset">
        <short>Relative offset of local header</short>
      </element>

      <element name="End_of_Central_Dir_Type">
        <short>Record storing end of central directory information</short>
        <descr>
        <p>
            The end of central directory is placed at the end of the zip file. Note that the end of central directory record is distinct from the Zip64 end of central directory record and zip64 end of central directory locator, which precede the end of central directory, if implemented.
        </p>
        </descr>
      </element>
      <element name="End_of_Central_Dir_Type.Signature">
        <short>End of central directory signature</short>
      </element>
      <element name="End_of_Central_Dir_Type.Disk_Number">
        <short>Number of this disk</short>
      </element>
      <element name="End_of_Central_Dir_Type.Central_Dir_Start_Disk">
        <short>Number of the disk with the start of the central directory</short>
      </element>
      <element name="End_of_Central_Dir_Type.Entries_This_Disk">
        <short>Total number of entries in the central directory in this disk</short>
      </element>
      <element name="End_of_Central_Dir_Type.Total_Entries">
        <short>Total number of entries in the central directory</short>
      </element>
      <element name="End_of_Central_Dir_Type.Central_Dir_Size">
        <short>Size of the central directory</short>
      </element>
      <element name="End_of_Central_Dir_Type.Start_Disk_Offset">
        <short>Offset of the start of the central directory against the starting disk number</short>
      </element>
      <element name="End_of_Central_Dir_Type.ZipFile_Comment_Length">
        <short>Length of the zip comment field</short>
        <descr>
          Denotes the length of the comment for the entire zip file (or 0 if no comment).
</descr>
      </element>

      <element name="Zip64_End_of_Central_Dir_type">
        <short>Record at end of central directory</short>
        <descr>This record appears at the end of the central directory</descr>.
        <seealso/>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Signature">
        <short>Signature</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Record_Size">
        <short>This record size</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Version_Made_By">
        <short>Version of generating software</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Extract_Version_Reqd">
        <short>Minimum extract version required</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Disk_Number">
        <short>Number of this disk</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Central_Dir_Start_Disk">
        <short>Start disk of central directory</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Entries_This_Disk">
        <short>Number of entries on this disk</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Total_Entries">
        <short>Total entries in archive</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Central_Dir_Size">
        <short>Central directory size</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_type.Start_Disk_Offset">
        <short>Offset to start disk</short>
      </element>

      <element name="Zip64_End_of_Central_Dir_Locator_type">
        <short>Locator type</short>
        <descr>
          Comes after the Zip64_End_of_Central_Dir_type.
        </descr>
        <seealso/>
      </element>
      <element name="Zip64_End_of_Central_Dir_Locator_type.Signature">
        <short></short>
      </element>
      <element name="Zip64_End_of_Central_Dir_Locator_type.Zip64_EOCD_Start_Disk">
        <short>
          Starting disk number for Zip64 End of Central Directory record.
        </short>
      </element>
      <element name="Zip64_End_of_Central_Dir_Locator_type.Central_Dir_Zip64_EOCD_Offset">
        <short>Offset of Zip64 End of Central Directory record</short>
      </element>
      <element name="Zip64_End_of_Central_Dir_Locator_type.Total_Disks">
        <short>
          Total number of disks (contained in zip).
        </short>
      </element>

      <element name="Crc_32_Tab">
        <short>Table used in calculating CRC-32</short>
        <descr>Table used in determining CRC-32 values. There are various CRC-32 algorithms in use; please refer to the ZIP file format specifications for details.</descr>
      </element>

      <element name="TProgressEvent">
        <short>Event procedure for capturing compression/decompression progress</short>
      </element>
      <element name="TProgressEvent.Sender">
        <short>Object that sends the event</short>
      </element>
      <element name="TProgressEvent.Pct">
        <short>Percentage completed</short>
      </element>

      <element name="TProgressEventEx">
        <short>
          Specifies an event handler signalled to indicate compression/decompression progress
        </short>
        <descr>
          <p>
            <var>TProgressEventEx</var> is an object procedure which implements an event handler signalled to indicate compression/decompression progress. It is very similar to <var>TProgressEvent</var>, but provides separate values for the cumulative number of bytes handled and the total number of bytes to be processed.
          </p>
          <p>
            TProgressEventEx is the type used to implement the <var>OnProgressEx</var> property in <var>TDeCompressor</var> and <var>TUnZipper</var>.
          </p>
        </descr>
        <seealso>
          <link id="TDeCompressor.OnProgressEx"/>
          <link id="TInflater.Decompress"/>
          <link id="TUnZipper.OnProgressEx"/>
          <link id="TUnZipper.UnZipAllFiles"/>
          <link id="TProgressEvent"/>
        </seealso>
      </element>
      <element name="TProgressEventEx.Sender">
        <short>Object for the event notification</short>
      </element>
      <element name="TProgressEventEx.ATotPos">
        <short>Cumulative number of bytes handled in the caller</short>
      </element>
      <element name="TProgressEventEx.ATotSize">
        <short>Total number of bytes to be processed in the caller</short>
      </element>

      <element name="TOnEndOfFileEvent">
        <short>Event procedure for an end of file (de)compression event</short>
      </element>
      <element name="TOnEndOfFileEvent.Sender">
        <short>Object that sends the event</short>
      </element>
      <element name="TOnEndOfFileEvent.Ratio">
        <short>Ratio of total operation (compression/decompression) that is completed</short>
      </element>

      <element name="TOnStartFileEvent">
        <short>Event procedure for a start of file (de)compression event</short>
      </element>
      <element name="TOnStartFileEvent.Sender">
        <short>Object that sends the event</short>
      </element>
      <element name="TOnStartFileEvent.AFileName">
        <short>File name of file to be processed</short>
      </element>

      <element name="TCompressor">
        <short>Compressor object</short>
        <descr>This object compresses a stream into a compressed zip stream.</descr>
      </element>
      <element name="TCompressor.FInFile">
        <short>Input/source stream for compression</short>
      </element>
      <element name="TCompressor.FOutFile">
        <short>Output stream with compressed data</short>
      </element>
      <element name="TCompressor.FCrc32Val">
        <short>CRC calculation variable</short>
      </element>
      <element name="TCompressor.FBufferSize">
        <short>Size of buffer used for compression</short>
      </element>
      <element name="TCompressor.FOnPercent">
        <short>Percentage of operation completed</short>
      </element>
      <element name="TCompressor.FOnProgress">
        <short>Progress event procedure</short>
      </element>
      <element name="TCompressor.UpdC32">
        <short>Updates running CRC32 value</short>
      </element>
      <element name="TCompressor.Create">
        <short>Creates a <link id="TCompressor"/> object</short>
      </element>
      <element name="TCompressor.Create.AInFile">
        <short>Input file that will be compressed</short>
      </element>
      <element name="TCompressor.Create.AOutFile">
        <short>File for writing compressed output</short>
      </element>
      <element name="TCompressor.Create.ABufSize">
        <short>Buffer size used when compressing</short>
      </element>
      <element name="TCompressor.Compress">
        <short>Compresses input stream to output stream</short>
      </element>
      <element name="TCompressor.ZipID">
        <short>Identifier for type of compression</short>
      </element>
      <element name="TCompressor.ZipID.Result">
        <short>Identifier for type of compression</short>
      </element>

      <element name="TCompressor.ZipVersionReqd">
        <short>ZIP version required in the method</short>
        <descr>
          Abstract virtual class function. Must be implemented in a descendent class.
        </descr>
        <seealso/>
      </element>
      <element name="TCompressor.ZipVersionReqd.Result">
        <short>Word type with the required ZIP version</short>
      </element>

      <element name="TCompressor.ZipBitFlag">
        <short>Current bit</short>
        <descr>
          Abstract virtual function. Must be implemented in a descendent class.
        </descr>
        <seealso/>
      </element>
      <element name="TCompressor.ZipBitFlag.Result">
        <short>Current bit</short>
      </element>

      <element name="TCompressor.Terminate">
        <short>Halts the compressor by setting the Terminated property to True</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCompressor.BufferSize">
        <short>Size of the buffer used for compression</short>
        <descr>
          <p>
            <var>BufferSize</var> is a read-only <var>LongWord</var> property with the size of the buffer used for compression. The property is set to the value passed as an argument to the <var>Create</var> constructor.
          </p>
          <p>
            BufferSize is used in the <var>Compress</var> method (in descendent classes) to allocate a pointer to a memory block with the required size. It also determines  the read size used when processing an input file or stream.
          </p>
        </descr>
        <seealso>
          <link id="TCompressor.Create"/>
          <link id="TShrinker.Compress"/>
          <link id="TDeflater.Compress"/>
        </seealso>
      </element>

      <element name="TCompressor.OnPercent">
        <short>Threshold percentage which triggers an OnProgress update</short>
      </element>

      <element name="TCompressor.OnProgress">
        <short>
          Event handler signalled to indicate the completion percentage for the compressor
        </short>
      </element>

      <element name="TCompressor.Crc32Val">
        <short>Running CRC32 value</short>
        <descr>Running CRC32 value used when writing zip header.</descr>
      </element>

      <element name="TCompressor.Terminated">
        <short>Set to True when the Terminate method is called</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TDeCompressor">
        <short>Decompressor object</short>
        <descr>This object decompresses a compressed zip stream.</descr>
      </element>
      <element name="TDeCompressor.FInFile">
        <short>Input stream with compressed data</short>
      </element>
      <element name="TDeCompressor.FOutFile">
        <short>Output stream with decompressed data</short>
      </element>
      <element name="TDeCompressor.FCrc32Val">
        <short>Running CRC32 value</short>
        <descr>CRC32 value; used for checking zip file integrity.</descr>
      </element>
      <element name="TDeCompressor.FBufferSize">
        <short>Buffer size</short>
      </element>
      <element name="TDeCompressor.FOnPercent">
        <short>Percentage of operation completed</short>
      </element>
      <element name="TDeCompressor.FOnProgress">
        <short>Reference to OnProgress event handler</short>
      </element>
      <element name="TDeCompressor.UpdC32">
        <short>Updates running CRC32 value</short>
      </element>
      <element name="TDeCompressor.Create">
        <short>Creates decompressor object</short>
      </element>
      <element name="TDeCompressor.Create.AInFile">
        <short>Input stream with compressed data</short>
      </element>
      <element name="TDeCompressor.Create.AOutFile">
        <short>Output stream with uncompressed data</short>
      </element>
      <element name="TDeCompressor.Create.ABufSize">
        <short>Size of buffer used in decompression</short>
      </element>
      <element name="TDeCompressor.DeCompress">
        <short>Decompress zip stream</short>
      </element>

      <element name="TDeCompressor.Terminate">
        <short>Halts decompression and sets Terminated to True</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TDeCompressor.ZipID">
        <short>Identifier for type of compression</short>
      </element>
      <element name="TDeCompressor.ZipID.Result">
        <short>Identifier for type of compression</short>
      </element>
      <element name="TDeCompressor.BufferSize">
        <short>Size of buffer used in decompression</short>
      </element>
      <element name="TDeCompressor.OnPercent">
        <short>Percentage of decompression completion</short>
      </element>
      <element name="TDeCompressor.OnProgress">
        <short>Event handler for OnProgress procedure</short>
      </element>

      <element name="TDeCompressor.OnProgressEx">
        <short>
          Event handler signalled to indicate progress using processed and total byte counts
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TDeCompressor.Crc32Val">
        <short>Running CRC32 value used for verifying zip file integrity</short>
      </element>

      <element name="TDeCompressor.Terminated">
        <short>Set to True when the Terminate method is called</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TABLESIZE">
        <short>Size for the code table used in LZW compression</short>
      </element>

      <element name="FIRSTENTRY">
        <short>Offset of First entry in table</short>
      </element>

      <element name="CodeRec">
        <short>Small LZW compression helper type</short>
        <descr/>
        <seealso/>
      </element>
      <element name="CodeRec.Child">
        <short>Child reference</short>
      </element>
      <element name="CodeRec.Sibling">
        <short>Sibling reference</short>
      </element>
      <element name="CodeRec.Suffix">
        <short>Suffix data</short>
      </element>

      <element name="CodeArray">
        <short>Array of <var>CodeRec</var></short>
        <descr>Array definition for <link id="CodeRec"/> </descr>
        <seealso><link id="CodeRec"/></seealso>
      </element>

      <element name="TablePtr">
        <short>Pointer to <var>CodeArray</var></short>
        <descr>Pointer to  <link id="CodeArray"/> </descr>
        <seealso><link id="CodeArray"/></seealso>
      </element>

      <element name="FreeListPtr">
        <short>Pointer to <var>FreeListArray</var></short>
        <descr>Pointer to  <link id="FreeListArray"/> </descr>
        <seealso><link id="FreeListArray"/> </seealso>
      </element>

      <element name="FreeListArray">
        <short>Array of words</short>
        <descr>Helper type in decoding the zip file.</descr>
        <seealso><link id="FreeListPtr"/></seealso>
      </element>

      <element name="BufPtr">
        <short>Implement the output buffer in TShrinker</short>
        <descr>
          <p>
            Alias for the PByte type. Used to implement the output buffer in TShrinker.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TShrinker">
        <short>Child of <link id="TCompressor">TCompressor</link> that implements the Shrink compression method</short>
        <descr>
          TShrinker implements the LZW lossless data compression algorithm created by Abraham Lempel, Jacob Ziv, and Terry Welch also known as "shrink" compression.
        </descr>
      </element>

      <element name="TShrinker.Create">
        <short>Constructor for the class instance</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TShrinker.Create.AInFile">
        <short>Stream with the input processed in the class instance</short>
      </element>
      <element name="TShrinker.Create.AOutFile">
        <short>Stream where the compressed values are written</short>
      </element>
      <element name="TShrinker.Create.ABufSize">
        <short>Size of the buffer used to read and process values from the input stream</short>
      </element>

      <element name="TShrinker.Destroy">
        <short>Destructor for the class instance</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TShrinker.Compress">
        <short>Compresses input values using LZW (shrink) compression</short>
        <descr>
          <p>
            Initializes the code table used for LZW compression. Processes buffer-size chunks from the input stream and calls the private Shrink method to generate values written to the output stream.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TShrinker.ZipID">
        <short>Return Zip algorithm ID</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TShrinker.ZipID.Result">
        <short>always 1</short>
      </element>

      <element name="TShrinker.ZipVersionReqd">
        <short>Minimum zip algorithm required</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TShrinker.ZipVersionReqd.Result">
        <short>Always 10 </short>
      </element>

      <element name="TShrinker.ZipBitFlag">
        <short>Zip bitness flag</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TShrinker.ZipBitFlag.Result">
        <short>Always 0 </short>
      </element>

      <element name="TDeflater">
        <short>Child of <link id="TCompressor">TCompressor</link> that implements the Deflate compression method</short>
      </element>

      <element name="TDeflater.Create">
        <short>Constructor for the class instance</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance, and calls the inherited method on entry. Create sets the default value for the <var>CompressionLevel</var> property to <var>clNone</var>.
          </p>
        </descr>
        <seealso>
          <link id="TDeflater.CompressionLevel"/>
          <link id="TCompressor.Create"/>
        </seealso>
      </element>
      <element name="TDeflater.Create.AInFile">
        <short>Stream with the input values compressed in the class instance</short>
      </element>
      <element name="TDeflater.Create.AOutFile">
        <short>
          Stream with the output values after compression using the Deflate algorithm
        </short>
      </element>
      <element name="TDeflater.Create.ABufSize">
        <short>Buffer size used to read and process values from the input stream</short>
      </element>

      <element name="TDeflater.Compress">
        <short>Performs compression using the Deflate algorithm</short>
        <descr>
          <p>
            Creates a temporary TCompressionStream instance using the compression level specified in the CompressLevel property. Compress signals the OnProgress event handler (when assigned) when the number of bytes representing the OnPercent threshold are  processed in the method.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TDeflater.ZipID">
        <short>Zip algorithm ID</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TDeflater.ZipID.Result">
        <short>Always 8 </short>
      </element>

      <element name="TDeflater.ZipVersionReqd">
        <short>Required version</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TDeflater.ZipVersionReqd.Result">
        <short>Always 20</short>
      </element>

      <element name="TDeflater.ZipBitFlag">
        <short>Bitness flag</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TDeflater.ZipBitFlag.Result">
        <short>Depends on compression level</short>
      </element>

      <element name="TDeflater.CompressionLevel">
        <short>Indicates the compression level applied in the Compress method</short>
        <descr>
          <p>
            <var>CompressionLevel</var> is a <var>TCompressionLevel</var> property which Indicates the compression level applied in the <var>Compress</var> method.  Values include:
          </p>
          <dl>
            <dt>clNone</dt>
            <dd>Do not use compression, just copy data.</dd>
            <dt>clFastest</dt>
            <dd>Use the fast (but less) compression. </dd>
            <dt>clDefault</dt>
            <dd>Use the default compression.  dd</dd>
            <dt>clMax</dt>
            <dd>Use the maximum compression.</dd>
          </dl>
        </descr>
        <seealso>
          <link id="TDeflater.Compress"/>
          <link id="#fcl.zstream.TCompressionLevel">TCompressionLevel</link>
        </seealso>
      </element>

      <element name="TInflater">
        <short>Child of <link id="TDeCompressor">TDeCompressor</link> that implements the Inflate decompression method</short>
      </element>

      <element name="TInflater.Create">
        <short>Constructor for the class instance</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TInflater.Create.AInFile">
        <short>Stream with the compressed content processed in the class instance</short>
      </element>
      <element name="TInflater.Create.AOutFile">
        <short>Stream where the de-compressed content is stored</short>
      </element>
      <element name="TInflater.Create.ABufSize">
        <short>Buffer size used to read and process compressed content</short>
      </element>

      <element name="TInflater.DeCompress">
        <short>Removes compression applied using the deflate algorithm</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TInflater.ZipID">
        <short>Zip algorithm ID</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TInflater.ZipID.Result">
        <short>Always 8</short>
      </element>

      <element name="TZipFileEntry">
        <short>Represents a file or directory added to a .ZIP file</short>
        <descr>
          <p>
            <var>TZipFileEntry</var> is a <var>TCollectionItem</var> descendant which represents a file or directory added to a .ZIP file archive. TZipFileEntry is the type used for items in the <var>Entries</var> property in the <var>TZipFileEntries</var> collection.
          </p>
          <p>
            TZipFileEntry provides properties with metadata for the file or directory, including:
          </p>
          <dl>
            <dt>ArchiveFileName</dt>
            <dd>Name of the file or directory in the .ZIP archive.</dd>
            <dt>UTF8ArchiveFileName</dt>
            <dd>Name of the file or directory in the .ZIP archive using UTF-8 encoding.</dd>
            <dt>DiskFileName</dt>
            <dd>Name of the file or directory on the local file system.</dd>
            <dt>UTF8DiskFileName</dt>
            <dd>Name of the file or directory using UTF-8 encoding.</dd>
            <dt>Size</dt>
            <dd>Size of the compressed file or directory in the .ZIP archive.</dd>
            <dt>DateTime</dt>
            <dd>The timestamp for file or directory in the .ZIP archive.</dd>
            <dt>OS</dt>
            <dd>
              Indicates the operating system device type / file system where the file or directory originated.
            </dd>
            <dt>Attributes</dt>
            <dd>File attributes for the entry.</dd>
            <dt>CompressionLevel</dt>
            <dd>Compression level applied to the content in the .ZIP archive.</dd>
            <dt>Stream</dt>
            <dd>TStream instance with the content for the entry.</dd>
          </dl>
          <p>
            Use <var>IsDirectory</var> to determine if the entry represents a directory.
          </p>
          <p>
            Use <var>IsLink</var> to determine if the entry is a symbolic link on the local file system.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TZipFileEntry.Create">
        <short>Constructor for the class instance</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance. Create sets the default values for properties, including:
          </p>
          <dl>
            <dt>DateTime</dt>
            <dd>Sets to the current date and time for the local computer.</dd>
            <dt>OS</dt>
            <dd>Set to OS_UNIX for UNIX-like environments, or OS_VFAT for all others.</dd>
            <dt>Attributes</dt>
            <dd>Set to 0 (no attributes).</dd>
            <dt>CompressionLevel</dt>
            <dd>Set to clDefault.</dd>
          </dl>
          <p>
            Create calls the inherited constructor prior to exiting from the method.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TZipFileEntry.Create.ACollection">
        <short>Collection which owns the class instance</short>
      </element>

      <element name="TZipFileEntry.IsDirectory">
        <short>True if the entry is a directory on the local file system</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TZipFileEntry.IsDirectory.Result">
        <short>True if the entry is a directory on the local file system</short>
      </element>

      <element name="TZipFileEntry.IsLink">
        <short>True if the directory is a symbolic link on the local file system</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TZipFileEntry.IsLink.Result">
        <short>True if the directory is a symbolic link on the local file system</short>
      </element>

      <element name="TZipFileEntry.Assign">
        <short>Copies property values from the specified persistent object</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TZipFileEntry.Assign.Source">
        <short>Persistent object with the values copied in the method</short>
      </element>

      <element name="TZipFileEntry.Stream">
        <short>Stream with the content for the entry</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntry.ArchiveFileName">
        <short>Name of the file or directory in the .ZIP archive</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntry. UTF8ArchiveFileName">
        <short>Name of the file or directory in the .ZIP archive using UTF-8 encoding</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntry.DiskFileName">
        <short>Name of the file or directory on the local file system</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntry.UTF8DiskFileName">
        <short>
          Name of the file or directory on the local file system using UTF-8 encoding
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntry.Size">
        <short>Size of the compressed content for the file or directory</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntry.DateTime">
        <short>Timestamp for the file or directory in the .ZIP archive</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntry.OS">
        <short>Indication of operating system/file system</short>
        <descr>Currently either OS_UNIX (if UNIX is defined) or OS_FAT.</descr>
      </element>

      <element name="TZipFileEntry.Attributes">
        <short>File attributes for the file or directory</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntry.CompressionLevel">
        <short>Compression level applied to the content stored in the .ZIP archive</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipFileEntries">
        <short>
          Collection used to store information about files and directories in the .zip archive
        </short>
        <descr>
          <p>
            <var>TZipFileEntries</var> is a <var>TCollection</var> descendant which provides support for using <var>TZipFileEntry</var> instances as the Items in the collection. It provides an indexed <var>Entries</var> property used to access the TZipFileEntry instances in the collection, and serves as the default property for enumerator access.
          </p>
          <p>
            TZipFileEntries is the type used to implement the <var>Entries</var> property in <var>TZipper</var>.
          </p>
        </descr>
        <seealso>
          <link id="TZipFileEntries.Entries"/>
          <link id="TZipFileEntry"/>
          <link id="TZipper.Entries"/>
          <link id="TUnZipper.Entries"/>
          <link id="TFullZipFileEntries"/>
        </seealso>
      </element>

      <element name="TZipFileEntries.AddFileEntry">
        <short>Adds file to zip directory</short>
        <descr>
          <p>
            <var>AddFileEntry</var> adds a file or directory to the list of entries that will be written out in the .zip file. AddFileEntry calls the <var>Add</var> method to create the new collection item, and casts it the <var>TZipFileEntry</var> type used in <var>TZipFileEntries</var>.
          </p>
          <p>
            Values passed as arguments to the overloaded variants are stored in the corresponding properties in the TZipFileEntry instance.
          </p>
          <p>
            The return value is the TZipFileEntry instance added to the collection.
          </p>
        </descr>
      </element>
      <element name="TZipFileEntries.AddFileEntry.Result">
        <short>Collection item added in the method</short>
      </element>
      <element name="TZipFileEntries.AddFileEntry.AStream">
        <short>Stream with the content for the zip file entry</short>
      </element>
      <element name="TZipFileEntries.AddFileEntry.ADiskFileName">
        <short>Name of the file or directory on the local file system</short>
      </element>
      <element name="TZipFileEntries.AddFileEntry.AArchiveFileName">
        <short>Name used for the file or directory in the .ZIP archive</short>
      </element>

      <element name="TZipFileEntries.AddFileEntries">
        <short>Adds TZipFileEntry instances in the collection for the file names in List</short>
        <descr>
          <p>
            <var>AddFileEntries</var> is a method used to add a list of files names to the collection. <var>List</var> contains the file names added in the method. AddFileEntries iterates over the string values in List, and calls the <var>AddFileEntry</var> method to create new items in the collection.
          </p>
        </descr>
        <seealso>
          <link id="TZipFileEntries.AddFileEntry"/>
        </seealso>
      </element>
      <element name="TZipFileEntries.AddFileEntries.List">
        <short>TStrings instance with the list of file names added to the collection</short>
      </element>

      <element name="TZipFileEntries.Entries">
        <short>Entries (files) in the zip archive</short>
        <descr>
          <p>
            <var>Entries</var> is an indexed <var>TZipFileEntry</var> property which provides indexed access to the <var>Items</var> in the collection by their ordinal position. The item values are cast to the <var>TZipFileEntry</var> type used in <var>TZipFileEntries</var>.
          </p>
          <p>
            Entries is the default property in TZipFileEntries, and allows an enumerator to be used to access the TZipFileEntry values in the collection.
          </p>
        </descr>
        <seealso>
          <link id="TZipFileEntry"/>
          <link id="#rtl.classes.TCollection.Items">TCollection.Items</link>
        </seealso>
      </element>

      <element name="TZipper">
        <short>Creates a .ZIP archive file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.Create">
        <short>Constructor for the class instance</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.Destroy">
        <short>Destructor for the class instance</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.ZipAllFiles">
        <short>Zips all files in object and writes zip to disk</short>
        <descr>
          <p>This procedure zips up all files in the <link id="TZipper"/> object and writes the resulting zip file to disk.</p>
          <p>An example of using this procedure:</p>
          <code>uses
  Zipper;
var
  Zipper: TZipper;
begin
  try
    Zipper := TZipper.Create;
    Zipper.FileName := ParamStr(1); //Use the first parameter on the command line as zip file name
    for I := 2 to ParamCount do //Use the other arguments on the command line as files to be zipped
      Zipper.Entries.AddFileEntry(ParamStr(I), ParamStr(I));
    Zipper.ZipAllFiles;
  finally
    Zipper.Free;
  end;
end.
</code>
        </descr>
      </element>

      <element name="TZipper.SaveToFile">
        <short>Saves the archive to a file with a new name</short>
        <descr>
          Saves a .ZIP file with a new name.
        </descr>
        <seealso/>
      </element>
      <element name="TZipper.SaveToFile.AFileName">
        <short>The filename to save to</short>
      </element>

      <element name="TZipper.SaveToStream">
        <short>Save the archive to a stream </short>
        <descr>
        </descr>
        <seealso/>
      </element>
      <element name="TZipper.SaveToStream.AStream">
        <short>Stream to save the archive to</short>
      </element>

      <element name="TZipper.ZipFile">
        <short>Zip one file to a zip file</short>
        <descr>
           Zips the specified files into a zip with the name in AFileName.
        </descr>
        <seealso><link id="TZipper.ZipFiles">ZipFiles</link></seealso>
      </element>
      <element name="TZipper.ZipFile.aFileToBeZipped">
        <short>File on disk that must be zipped</short>
      </element>
      <element name="TZipper.ZipFile.AZipFileName">
        <short>The filename of the zip archive file</short>
      </element>

      <element name="TZipper.ZipFiles">
        <short>Zip multiple files into an archive</short>
        <descr/>
        <seealso><link id="TZipper.ZipFile">ZipFile</link></seealso>
      </element>
      <element name="TZipper.ZipFiles.AZipFileName">
        <short>Zip archive filename</short>
      </element>
      <element name="TZipper.ZipFiles.FileList">
        <short>Filenames to be zipped</short>
      </element>
      <element name="TZipper.ZipFiles.aFileList">
        <short>Filenames to be zipped</short>
      </element>
      <element name="TZipper.ZipFiles.Entries">
        <short>Entries to add to file</short>
      </element>

      <element name="TZipper.Zip">
        <short>
          Convenience method used to create a .zip file with the given name containing the  specified file(s)
        </short>
        <descr>
          <p>
            Zip is a class procedure used to create a .zip file with the name specified in AZipFileName. Overloaded variants are provided that allow one or more file names to be specified using the <var>AFileToBeZipped</var> or <var>AFileList</var> arguments.
          </p>
          <p>
            For example:
          </p>
<code>
var
  SZip, SFile: RawByteString;

  SZip := '/usr/tmp/docbook5-catalog.zip';
  SFile := '/usr/share/xml/docbook/schema/sch/5.0/catalog.xml'

  TZipper.Zip(SZip, SFile);
  </code>
        </descr>
        <seealso>
          <link id="TUnzipper.Unzip"/>
        </seealso>
      </element>
      <element name="TZipper.Zip.AZipFileName">
        <short>Name for the .zip file created in the method</short>
      </element>
      <element name="TZipper.Zip.AFileToBeZipped">
        <short>Name of the file added to the .zip file</short>
      </element>
      <element name="TZipper.Zip.AFileList">
        <short>Contains file names added to the .zip file</short>
      </element>

      <element name="TZipper.Clear">
        <short>Removes all values in the Entries and Files properties</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.Terminate">
        <short>
          Halts an assigned compressor in the class instance, and sets Terminated to True
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.BufferSize">
        <short>Buffer size used when reading and processing files</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.OnPercent">
        <short>
          Threshold percentage which triggers progress notifications when processing files
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.OnProgress">
        <short>Event handler signalled to show a percent complete progress notifications</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.OnStartFile">
        <short>Event handler signalled when compression for a file is started</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.OnEndFile">
        <short>Event handler signalled when compression for a file has been completed</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.FileName">
        <short>
          Name of the .ZIP archive file where the compressed files and directories are stored
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.FileComment">
        <short>Comment stored in the .ZIP archive file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.Files">
        <short>Provides access to the list of files and directories in the archive</short>
        <descr>
          <p>
            Deprecated. Use the Entries property to call its <var>AddFileEntry</var> or
            <var>AddFileEntries</var> methods instead.
          </p>
        </descr>
        <seealso>
          <link id="TZipper.Entries"/>
          <link id="TZipperFileEntries.AddFileEntry"/>
          <link id="TZipperFileEntries.AddFileEntries"/>
        </seealso>
      </element>

      <element name="TZipper.InMemSize">
        <short>Total memory used for the compressed content in the .ZIP file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.Entries">
        <short>Collection with the TZipFileEntry instances in the .ZIP archive</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.Terminated">
        <short>True if the Terminate method has been called</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TZipper.UseLanguageEncoding">
        <short>Use language encoding</short>
        <descr>
           EFS/language encoding using UTF-8.
        </descr>
        <seealso/>
      </element>

      <element name="TFullZipFileEntry">
        <short>Extended zip file entry</short>
        <descr>
          <p>
            <var>TFullZipFileEntry</var> is a <var>TZipFileEntry</var> descendant which provides additional information about files in a .ZIP archive. TFullZipFileEntry extends the ancestor class to include properties like:
          </p>
          <dl>
            <dt>BitFlags</dt>
            <dd>General purpose bit flag from the Local Header in the .ZIP archive file.</dd>
            <dt>CompressMethod</dt>
            <dd>Compression method for the file.</dd>
            <dt>CompressedSize</dt>
            <dd>Size after applying the compression method and level.</dd>
            <dt>CRC32</dt>
            <dd>32-bit CRC value for the file.</dd>
          </dl>
        </descr>
        <seealso/>
      </element>

      <element name="TFullZipFileEntry.BitFlags">
        <short>General purpose bit flag from the Local Header in the .ZIP archive file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFullZipFileEntry.CompressMethod">
        <short>Compression method for the file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFullZipFileEntry.CompressedSize">
        <short>Size after applying the compression method and level</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFullZipFileEntry.CRC32">
        <short>32-bit CRC value for the file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TOnCustomStreamEvent">
        <short>Specifies an event handler signalled for stream actions in TUnZipper</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TOnCustomStreamEvent.Sender">
        <short>TUnZipper object instance for the notification</short>
      </element>
      <element name="TOnCustomStreamEvent.AStream">
        <short>TStream instance for the notification</short>
      </element>
      <element name="TOnCustomStreamEvent.AItem">
        <short>File entry for the notification</short>
      </element>

      <element name="TCustomInputStreamEvent">
        <short>Specifies an event handler signalled for actions to an input stream</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomInputStreamEvent.Sender">
        <short>TUnZipper object instance for the notification</short>
      </element>
      <element name="TCustomInputStreamEvent.AStream">
        <short>TStream instance for the notification</short>
      </element>

      <element name="TFullZipFileEntries">
        <short>Collection of TFullZipFileEntry items</short>
        <descr/>
        <seealso><link id="TFullZipFileEntry"/></seealso>
      </element>

      <element name="TFullZipFileEntries.FullEntries">
        <short>Array access to all entries</short>
        <descr/>
        <seealso><link id="TFullZipFileEntry"/></seealso>
      </element>

      <element name="TUnZipper">
        <short>Extracts and decompresses files and directories in a .ZIP archive file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.Create">
        <short>Constructor for the class instance</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.Destroy">
        <short>Destructor for the class instance</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.UnZipAllFiles">
        <short>Unzips all files in a zip file, writing them to disk</short>
        <descr>
          <p>This procedure unzips all files in a <link id="TZipper"/> object and writes the unzipped files to disk.</p>
          <p>The example below unzips the files into "C:\windows\temp":</p>

          <code>uses
  Zipper;
var
  UnZipper: TUnZipper;
begin
  UnZipper := TUnZipper.Create;
  try    
    UnZipper.FileName := ZipFilePath;
    UnZipper.OutputPath := 'C:\Windows\Temp';
    UnZipper.UnZipAllFiles;
  finally
    UnZipper.Free;
  end;
end.
</code>
        </descr>
      </element>
      <element name="TUnZipper.UnZipAllFiles.AZipFileName">
        <short>Name of the .zip file unzipped in the method</short>
      </element>

      <element name="TUnZipper.UnZipFile">
        <short>Unzips a single file found in the specified .ZIP archive</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TUnZipper.UnZipFile.AZipFileName">
        <short>Name of the .ZIP archive file</short>
      </element>
      <element name="TUnZipper.UnZipFile.aExtractFileName">
        <short>Name of the file to unzip in the method</short>
      </element>

      <element name="TUnZipper.UnZipFiles">
        <short>Unzips the specified files in a .ZIP archive file</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TUnZipper.UnZipFiles.AZipFileName">
        <short>Name of the .ZIP file to unzip</short>
      </element>
      <element name="TUnZipper.UnZipFiles.FileList">
        <short>Stringlist containing one or more files to be unzipped</short>
      </element>
      <element name="TUnZipper.UnZipFiles.aFileList">
        <short>Stringlist containing one or more files to be unzipped</short>
      </element>

      <element name="TUnZipper.Unzip">
        <short>Unzips the specified .ZIP archive file</short>
        <descr>
          <p>
            <var>UnZip</var> is an overloaded class method used to unzip one or more files in the specified .ZIP archive file. Overloaded variants are provided which allow the file or files to be specified using <var>RawByteString</var>, <var>Array</var>, or <var>TStrings</var> data types.
          </p>
          <p>
            UnZip is a convenience method, and does not require an instance of the class. It uses the default options to perform the unzip operation.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TUnZipper.Unzip.AZipFileName">
        <short>Name of the .ZIP archive file</short>
      </element>
      <element name="TUnZipper.Unzip.aExtractFileName">
        <short>Name of a file or directory entry to extract in the method</short>
      </element>
      <element name="TUnZipper.Unzip.aFileList">
        <short>List of file names to unzip in the method</short>
      </element>

      <element name="TUnZipper.Clear">
        <short>Removes all entries and files from object</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.Examine">
        <short>Opens zip file and reads the directory entries (list of zipped files)</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.Terminate">
        <short>Sets the value in Terminated to True</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.BufferSize">
        <short>Size of the buffer used to read and decompress entries in the .ZIP file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnOpenInputStream">
        <short>Event handler signalled when the input stream for the .ZIP file is opened</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnCloseInputStream">
        <short>Event handler signalled when the input stream for the .ZIP file is closed</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnCreateStream">
        <short>Event handler signalled when an output stream is created</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnDoneStream">
        <short>Event handler signalled when an output stream is closed</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnPercent">
        <short>Threshold percentage which triggers a progress notification</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnProgress">
        <short>Progress event handler used when decompressing files</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnProgressEx">
        <short>Extended progress event handler used when decompressing files</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnStartFile">
        <short>Callback procedure that will be called before unzipping a file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OnEndFile">
        <short>Callback procedure that will be called after unzipping a file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.FileName">
        <short>Path and file name for the .zip file to be unzipped / processed</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.OutputPath">
        <short>Path where archive files will be unzipped</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.FileComment">
        <short>Comment stored in the .ZIP archive file</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TUnZipper.Files">
        <short>Files in the zip file (deprecated)</short>
        <descr>List of files that should be compressed in the zip file. Deprecated. Use Entries.AddFileEntry(FileName) or Entries.AddFileEntries(List) instead.</descr>
        <seealso/>
      </element>

      <element name="TUnZipper.Entries">
        <short>
          Collection with TFullZipFileEntry instances for files and directories stored in the .ZIP archive
        </short>
        <descr>
          <p>
            <var>Entries</var> is a read-only <var>TFullZipFileEntries</var> property, and the collection representing the items stored in the .ZIP archive file. Entries contains <var>TFullZipFileEntry</var> instances which represent the files or directories present in the .ZIP file.
          </p>
          <p>
            Values in the Entries collection are created and stored when file directory in the .ZIP file is read. This can occur when the <var>Examine</var> method is called, or when extracting one or more files using the <var>UnZipAllFiles</var> / <var>UnZipFiles</var> / <var>UnZipFile</var> methods.
          </p>
          <p>
            The items in the Entries collection are removed when the <var>Clear</var> method is called.
          </p>
        </descr>
        <seealso>
          <link id="TUnZipper.Examine"/>
          <link id="TUnZipper.Clear"/>
          <link id="TUnZipper.UnZipAllFiles"/>
          <link id="TUnZipper.UnZipFiles"/>
          <link id="TUnZipper.UnZipFile"/>
          <link id="TUnZipper.UnZip"/>
          <link id="TFullZipFileEntries"/>
          <link id="TFullZipFileEntry"/>
        </seealso>
      </element>

      <element name="TUnZipper.UseUTF8">
        <short>
          Indicates that the UTF-8-encoded names are used when locating and unzipping entries in the archive
        </short>
        <descr>
          <p>
            <var>UseUTF8</var> is a <var>Boolean</var> property which indicates if UTF-8-encoded names are used when locating and unzipping items stored in the .ZIP archive.
          </p>
          <p>
            Each <var>TZipFileEntry</var> instance stored in the <var>Entries</var> collection has both UTF-8-encoded and RawByteString (same as AnsiString with no code page) variants of file or directory names. Set UseUTF8 to <b>True</b> to use the UTF-8-encoded version. The default value is <b>False</b>, and causes the <var>RawByteString</var> version to be used.
          </p>
          <p>
            UseUTF8 is used when methods like <var>UnZipAllFiles</var>, <var>UnZipFiles</var>, and <var>UnZipFile</var> are called.
          </p>
        </descr>
        <seealso>
          <link id="TUnZipper.Entries"/>
          <link id="TUnZipper.UnZipAllFiles"/>
          <link id="TUnZipper.UnZipFiles"/>
          <link id="TUnZipper.UnZipFile"/>
          <link id="TZipFileEntries"/>
          <link id="TZipFileEntry"/>
        </seealso>
      </element>

      <element name="TUnZipper.Flat">
        <short>Extracts files to a single directory</short>
        <descr>
          <p>
            Enables flat extraction; like -j (also called junk paths) when using the unzip command-line utility. Directory structure(s) in the .zip file are not recreated, and files are extracted to the same directory.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TUnZipper.Terminated">
        <short>True if the Terminate method has been called</short>
        <descr/>
        <seealso/>
      </element>

      <element name="EZipError">
        <short>Exception raised for errors in TZipper and TUnZipper</short>
      </element>

    </module>
  </package>
</fpdoc-descriptions>