Types
BlockMetadata = object litLenFreq*: array[maxLitLenCodes, uint32] distanceFreq*: array[maxDistanceCodes, uint32] numLiterals*: int
- Source Edit
CompressionConfig = object good*, lazy*, nice*, chain*: int
- Source Edit
Consts
baseDistanceExtraBits = [0'u, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]
- Source Edit
baseDistances = [1'u, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577]
- Source Edit
baseLengthIndices = [0'u, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28]
- Source Edit
baseLengths = [3'u, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258]
- Source Edit
baseLengthsExtraBits = [0'u, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]
- Source Edit
baseMatchLen = 3
- Source Edit
configurationTable = [(good: 0, lazy: 0, nice: 0, chain: 0), (good: 4, lazy: 4, nice: 8, chain: 4), (good: 4, lazy: 5, nice: 16, chain: 8), (good: 4, lazy: 6, nice: 32, chain: 32), (good: 4, lazy: 4, nice: 16, chain: 16), (good: 8, lazy: 16, nice: 32, chain: 32), (good: 8, lazy: 16, nice: 128, chain: 128), (good: 8, lazy: 32, nice: 256, chain: 256), (good: 32, lazy: 128, nice: 258, chain: 1024), (good: 32, lazy: 258, nice: 258, chain: 4096)]
- Source Edit
firstLengthCodeIndex = 257
- Source Edit
fixedDistanceCodeLengths = [5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u, 5'u]
- Source Edit
fixedDistanceCodes = [0'u, 16'u, 8'u, 24'u, 4'u, 20'u, 12'u, 28'u, 2'u, 18'u, 10'u, 26'u, 6'u, 22'u, 14'u, 30'u, 1'u, 17'u, 9'u, 25'u, 5'u, 21'u, 13'u, 29'u, 3'u, 19'u, 11'u, 27'u, 7'u, 23'u]
- Source Edit
fixedLitLenCodeLengths = [8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 9'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 7'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u, 8'u]
- Source Edit
fixedLitLenCodes = [12'u, 140'u, 76'u, 204'u, 44'u, 172'u, 108'u, 236'u, 28'u, 156'u, 92'u, 220'u, 60'u, 188'u, 124'u, 252'u, 2'u, 130'u, 66'u, 194'u, 34'u, 162'u, 98'u, 226'u, 18'u, 146'u, 82'u, 210'u, 50'u, 178'u, 114'u, 242'u, 10'u, 138'u, 74'u, 202'u, 42'u, 170'u, 106'u, 234'u, 26'u, 154'u, 90'u, 218'u, 58'u, 186'u, 122'u, 250'u, 6'u, 134'u, 70'u, 198'u, 38'u, 166'u, 102'u, 230'u, 22'u, 150'u, 86'u, 214'u, 54'u, 182'u, 118'u, 246'u, 14'u, 142'u, 78'u, 206'u, 46'u, 174'u, 110'u, 238'u, 30'u, 158'u, 94'u, 222'u, 62'u, 190'u, 126'u, 254'u, 1'u, 129'u, 65'u, 193'u, 33'u, 161'u, 97'u, 225'u, 17'u, 145'u, 81'u, 209'u, 49'u, 177'u, 113'u, 241'u, 9'u, 137'u, 73'u, 201'u, 41'u, 169'u, 105'u, 233'u, 25'u, 153'u, 89'u, 217'u, 57'u, 185'u, 121'u, 249'u, 5'u, 133'u, 69'u, 197'u, 37'u, 165'u, 101'u, 229'u, 21'u, 149'u, 85'u, 213'u, 53'u, 181'u, 117'u, 245'u, 13'u, 141'u, 77'u, 205'u, 45'u, 173'u, 109'u, 237'u, 29'u, 157'u, 93'u, 221'u, 61'u, 189'u, 125'u, 253'u, 19'u, 275'u, 147'u, 403'u, 83'u, 339'u, 211'u, 467'u, 51'u, 307'u, 179'u, 435'u, 115'u, 371'u, 243'u, 499'u, 11'u, 267'u, 139'u, 395'u, 75'u, 331'u, 203'u, 459'u, 43'u, 299'u, 171'u, 427'u, 107'u, 363'u, 235'u, 491'u, 27'u, 283'u, 155'u, 411'u, 91'u, 347'u, 219'u, 475'u, 59'u, 315'u, 187'u, 443'u, 123'u, 379'u, 251'u, 507'u, 7'u, 263'u, 135'u, 391'u, 71'u, 327'u, 199'u, 455'u, 39'u, 295'u, 167'u, 423'u, 103'u, 359'u, 231'u, 487'u, 23'u, 279'u, 151'u, 407'u, 87'u, 343'u, 215'u, 471'u, 55'u, 311'u, 183'u, 439'u, 119'u, 375'u, 247'u, 503'u, 15'u, 271'u, 143'u, 399'u, 79'u, 335'u, 207'u, 463'u, 47'u, 303'u, 175'u, 431'u, 111'u, 367'u, 239'u, 495'u, 31'u, 287'u, 159'u, 415'u, 95'u, 351'u, 223'u, 479'u, 63'u, 319'u, 191'u, 447'u, 127'u, 383'u, 255'u, 511'u, 0'u, 64'u, 32'u, 96'u, 16'u, 80'u, 48'u, 112'u, 8'u, 72'u, 40'u, 104'u, 24'u, 88'u, 56'u, 120'u, 4'u, 68'u, 36'u, 100'u, 20'u, 84'u, 52'u, 116'u, 3'u, 131'u, 67'u, 195'u, 35'u, 163'u, 99'u, 227'u]
- Source Edit
maxBlockSize = 4194304
- Source Edit
maxCodeLength = 15
- Source Edit
maxDistanceCodes = 30
- Source Edit
maxFixedLitLenCodes = 288
- Source Edit
maxLiteralLength = 32767
- Source Edit
maxLitLenCodes = 286
- Source Edit
maxMatchLen = 258
- Source Edit
maxUncompressedBlockSize = 65535
- Source Edit
maxWindowSize = 32768
- Source Edit
minMatchLen = 4
- Source Edit
Procs
proc determineMatchLength(src: ptr UncheckedArray[uint8]; s1, s2, limit: int): int {. inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc distanceCodeIndex(value: uint16): uint16 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc parseFilePermissions(permissions: int): set[FilePermission] {....raises: [], tags: [], forbids: [].}
- Source Edit
proc toUnixPath(path: string): string {....raises: [], tags: [], forbids: [].}
- Source Edit
proc verifyPathIsSafeToExtract(path: string) {....raises: [ZippyError], tags: [], forbids: [].}
- Source Edit
Templates
template currentExceptionAsZippyError(): untyped
- Gets the current exception and returns it as a ZippyError with stack trace. Source Edit
template failArchiveEOF()
- Source Edit
template failCompress()
- Source Edit
template failUncompress()
- Source Edit