paszlib.pas 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. unit paszlib;
  2. {$inline on}
  3. interface
  4. uses
  5. zbase;
  6. const
  7. ZLIB_VERSION = '1.2';
  8. type
  9. { Compatibility types }
  10. z_off_t = longint;
  11. TInternalState = record
  12. end;
  13. PInternalState = ^TInternalstate;
  14. TZStream = z_stream;
  15. PZstream = ^TZStream;
  16. gzFile = pointer;
  17. const
  18. Z_NO_FLUSH = 0;
  19. Z_PARTIAL_FLUSH = 1;
  20. Z_SYNC_FLUSH = 2;
  21. Z_FULL_FLUSH = 3;
  22. Z_FINISH = 4;
  23. Z_OK = 0;
  24. Z_STREAM_END = 1;
  25. Z_NEED_DICT = 2;
  26. Z_ERRNO = -(1);
  27. Z_STREAM_ERROR = -(2);
  28. Z_DATA_ERROR = -(3);
  29. Z_MEM_ERROR = -(4);
  30. Z_BUF_ERROR = -(5);
  31. Z_VERSION_ERROR = -(6);
  32. Z_NO_COMPRESSION = 0;
  33. Z_BEST_SPEED = 1;
  34. Z_BEST_COMPRESSION = 9;
  35. Z_DEFAULT_COMPRESSION = -(1);
  36. Z_FILTERED = 1;
  37. Z_HUFFMAN_ONLY = 2;
  38. Z_DEFAULT_STRATEGY = 0;
  39. Z_BINARY = 0;
  40. Z_ASCII = 1;
  41. Z_UNKNOWN = 2;
  42. Z_DEFLATED = 8;
  43. Z_NULL = nil;
  44. function zlibVersion:string;inline;
  45. function deflate(var strm:TZstream; flush:longint):longint;inline;
  46. function deflateEnd(var strm:TZstream):longint;inline;
  47. function inflate(var strm:TZstream; flush:longint):longint;inline;
  48. function inflateEnd(var strm:TZstream):longint;inline;
  49. function deflateSetDictionary(var strm:TZstream;dictionary : Pchar; dictLength:cardinal):longint;inline;
  50. function deflateCopy(var dest,source:TZstream):longint;inline;
  51. function deflateReset(var strm:TZstream):longint;inline;
  52. function deflateParams(var strm:TZstream; level:longint; strategy:longint):longint;inline;
  53. function inflateSetDictionary(var strm:TZStream;dictionary : Pchar; dictLength:cardinal):longint;inline;
  54. function inflateSync(var strm:TZStream):longint;inline;
  55. function inflateReset(var strm:TZStream):longint;inline;
  56. function compress(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal):longint;
  57. function compress2(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal; level:longint):longint;
  58. function uncompress(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal):longint;
  59. function gzopen(path:Pchar; mode:Pchar):gzFile;inline;
  60. function gzsetparams(Thefile:gzFile; level:longint; strategy:longint):longint;inline;
  61. function gzread(thefile:gzFile; buf : pointer; len:cardinal):longint;inline;
  62. function gzwrite(thefile:gzFile; buf: pointer; len:cardinal):longint;inline;
  63. function gzputs(thefile:gzFile; s:Pchar):longint;inline;
  64. function gzgets(thefile:gzFile; buf:Pchar; len:longint):Pchar;inline;
  65. function gzputc(thefile:gzFile; c:char):longint;inline;
  66. function gzgetc(thefile:gzFile):char;inline;
  67. function gzflush(thefile:gzFile; flush:longint):longint;inline;
  68. function gzseek(thefile:gzFile; offset:z_off_t; whence:longint):z_off_t;inline;
  69. function gzrewind(thefile:gzFile):longint;inline;
  70. function gztell(thefile:gzFile):z_off_t;inline;
  71. function gzeof(thefile:gzFile):longbool;inline;
  72. function gzclose(thefile:gzFile):longint;inline;
  73. function gzerror(thefile:gzFile; var errnum:smallint):string;inline;
  74. function adler32(theadler:cardinal;buf : Pchar; len:cardinal):cardinal;inline;
  75. function crc32(thecrc:cardinal;buf : Pchar; len:cardinal):cardinal;inline;
  76. function deflateInit_(var strm:TZStream; level:longint; version:Pchar; stream_size:longint):longint;inline;
  77. function inflateInit_(var strm:TZStream; version:Pchar; stream_size:longint):longint;inline;
  78. function deflateInit2_(var strm:TZStream; level:longint; method:longint; windowBits:longint; memLevel:longint;strategy:longint; version:Pchar; stream_size:longint):longint;inline;
  79. function inflateInit2_(var strm:TZStream; windowBits:longint; version:Pchar; stream_size:longint):longint;inline;
  80. function deflateInit(var strm:TZStream;level : longint) : longint;inline;
  81. function inflateInit(var strm:TZStream) : longint;inline;
  82. function deflateInit2(var strm:TZStream;level,method,windowBits,memLevel,strategy : longint) : longint;inline;
  83. function inflateInit2(var strm:TZStream; windowBits : longint) : longint;inline;
  84. function zError(err:longint):string;inline;
  85. function inflateSyncPoint(z:PZstream):longint;inline;
  86. function get_crc_table:pointer;inline;
  87. implementation
  88. uses
  89. zdeflate,zinflate,zcompres,zuncompr,gzio,adler,crc;
  90. function zlibVersion:string;inline;
  91. begin
  92. zlibversion:=zbase.zlibversion;
  93. end;
  94. function deflate(var strm:TZstream; flush:longint):longint;inline;
  95. begin
  96. deflate:=zdeflate.deflate(strm,flush);
  97. end;
  98. function deflateEnd(var strm:TZstream):longint;inline;
  99. begin
  100. deflateEnd:=zdeflate.deflateEnd(strm);
  101. end;
  102. function inflate(var strm:TZstream; flush:longint):longint;inline;
  103. begin
  104. inflate:=zinflate.inflate(strm,flush);
  105. end;
  106. function inflateEnd(var strm:TZstream):longint;inline;
  107. begin
  108. inflateEnd:=zinflate.inflateEnd(strm);
  109. end;
  110. function deflateSetDictionary(var strm:TZstream;dictionary : Pchar; dictLength:cardinal):longint;inline;
  111. begin
  112. deflateSetDictionary:=zdeflate.deflateSetDictionary(strm,Pbyte(dictionary),dictlength);
  113. end;
  114. function deflateCopy(var dest,source:TZstream):longint;inline;
  115. begin
  116. deflateCopy:=zdeflate.deflateCopy(@dest,@source);
  117. end;
  118. function deflateReset(var strm:TZstream):longint;inline;
  119. begin
  120. deflateReset:=zdeflate.deflateReset(strm);
  121. end;
  122. function deflateParams(var strm:TZstream; level:longint; strategy:longint):longint;inline;
  123. begin
  124. deflateParams:=zdeflate.deflateParams(strm,level,strategy);
  125. end;
  126. function inflateSetDictionary(var strm:TZStream;dictionary : Pchar; dictLength:cardinal):longint;inline;
  127. begin
  128. inflateSetDictionary:=zinflate.inflateSetDictionary(strm,Pbyte(dictionary),dictlength);
  129. end;
  130. function inflateSync(var strm:TZStream):longint;inline;
  131. begin
  132. inflateSync:=zinflate.inflateSync(strm);
  133. end;
  134. function inflateReset(var strm:TZStream):longint;inline;
  135. begin
  136. inflateReset:=zinflate.inflateReset(strm);
  137. end;
  138. function compress(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal):longint;
  139. type Pbytearray=^Tbytearray;
  140. Tbytearray=array[0..0] of byte;
  141. begin
  142. compress:=zcompres.compress(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen);
  143. end;
  144. function compress2(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal; level:longint):longint;
  145. type Pbytearray=^Tbytearray;
  146. Tbytearray=array[0..0] of byte;
  147. begin
  148. compress2:=zcompres.compress2(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen,level);
  149. end;
  150. function uncompress(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal):longint;
  151. type Pbytearray=^Tbytearray;
  152. Tbytearray=array[0..0] of byte;
  153. begin
  154. uncompress:=zuncompr.uncompress(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen);
  155. end;
  156. function gzopen(path:Pchar; mode:Pchar):gzFile;inline;
  157. begin
  158. gzopen:=gzio.gzopen(path,mode);
  159. end;
  160. function gzsetparams(Thefile:gzFile; level:longint; strategy:longint):longint;inline;
  161. begin
  162. gzsetparams:=gzio.gzsetparams(thefile,level,strategy);
  163. end;
  164. function gzread(thefile:gzFile; buf : pointer; len:cardinal):longint;inline;
  165. begin
  166. gzread:=gzio.gzread(thefile,buf,len);
  167. end;
  168. function gzwrite(thefile:gzFile; buf: pointer; len:cardinal):longint;inline;
  169. begin
  170. gzwrite:=gzio.gzwrite(thefile,buf,len);
  171. end;
  172. function gzputs(thefile:gzFile; s:Pchar):longint;inline;
  173. begin
  174. gzputs:=gzio.gzputs(thefile,s);
  175. end;
  176. function gzgets(thefile:gzFile; buf:Pchar; len:longint):Pchar;inline;
  177. begin
  178. gzgets:=gzio.gzgets(thefile,buf,len);
  179. end;
  180. function gzputc(thefile:gzFile; c:char):longint;inline;
  181. begin
  182. gzputc:=gzio.gzputc(thefile,c);
  183. end;
  184. function gzgetc(thefile:gzFile):char;inline;
  185. begin
  186. gzgetc:=chr(gzio.gzgetc(thefile));
  187. end;
  188. function gzflush(thefile:gzFile; flush:longint):longint;inline;
  189. begin
  190. gzflush:=gzio.gzflush(thefile,flush);
  191. end;
  192. function gzseek(thefile:gzFile; offset:z_off_t; whence:longint):z_off_t;inline;
  193. begin
  194. gzseek:=gzio.gzseek(thefile,offset,whence);
  195. end;
  196. function gzrewind(thefile:gzFile):longint;inline;
  197. begin
  198. gzrewind:=gzio.gzrewind(thefile);
  199. end;
  200. function gztell(thefile:gzFile):z_off_t;inline;
  201. begin
  202. gztell:=gzio.gztell(thefile);
  203. end;
  204. function gzeof(thefile:gzFile):longbool;inline;
  205. begin
  206. gzeof:=gzio.gzeof(thefile);
  207. end;
  208. function gzclose(thefile:gzFile):longint;inline;
  209. begin
  210. gzclose:=gzio.gzclose(thefile);
  211. end;
  212. function gzerror(thefile:gzFile; var errnum:smallint):string;inline;
  213. begin
  214. gzerror:=gzio.gzerror(thefile,errnum);
  215. end;
  216. function adler32(theadler:cardinal;buf : Pchar; len:cardinal):cardinal;inline;
  217. begin
  218. adler32:=adler.adler32(theadler,Pbyte(buf),len);
  219. end;
  220. function crc32(thecrc:cardinal;buf : Pchar; len:cardinal):cardinal;inline;
  221. begin
  222. crc32:=crc.crc32(thecrc,Pbyte(buf),len);
  223. end;
  224. function deflateInit_(var strm:TZStream; level:longint; version:Pchar; stream_size:longint):longint;inline;
  225. begin
  226. deflateInit_:=zdeflate.deflateInit_(@strm,level,version,stream_size);
  227. end;
  228. function inflateInit_(var strm:TZStream; version:Pchar; stream_size:longint):longint;inline;
  229. begin
  230. inflateInit_:=zinflate.inflateInit_(@strm,version,stream_size);
  231. end;
  232. function deflateInit2_(var strm:TZStream; level:longint; method:longint; windowBits:longint; memLevel:longint;strategy:longint; version:Pchar; stream_size:longint):longint;inline;
  233. begin
  234. deflateInit2_:=zdeflate.deflateInit2_(strm,level,method,windowBits,memlevel,strategy,version,stream_size);
  235. end;
  236. function inflateInit2_(var strm:TZStream; windowBits:longint; version:Pchar; stream_size:longint):longint;inline;
  237. begin
  238. inflateInit2_:=zinflate.inflateInit2_(strm,windowBits,version,stream_size);
  239. end;
  240. function deflateInit(var strm:TZStream;level : longint) : longint;inline;
  241. begin
  242. deflateInit:=zdeflate.deflateInit(strm,level);
  243. end;
  244. function inflateInit(var strm:TZStream) : longint;inline;
  245. begin
  246. inflateInit:=zinflate.inflateInit(strm);
  247. end;
  248. function deflateInit2(var strm:TZStream;level,method,windowBits,memLevel,strategy : longint) : longint;inline;
  249. begin
  250. deflateInit2:=zdeflate.deflateInit2(strm,level,method,windowbits,memlevel,strategy);
  251. end;
  252. function inflateInit2(var strm:TZStream; windowBits : longint) : longint;inline;
  253. begin
  254. inflateInit2:=zinflate.inflateInit2_(strm,windowBits,ZLIB_VERSION,sizeof(TZStream));
  255. end;
  256. function zError(err:longint):string;inline;
  257. begin
  258. zerror:=zbase.zerror(err);
  259. end;
  260. function inflateSyncPoint(z:PZstream):longint;inline;
  261. begin
  262. inflateSyncPoint:=zinflate.inflateSyncPoint(z^);
  263. end;
  264. function get_crc_table:pointer;inline;
  265. begin
  266. get_crc_table:=crc.get_crc_table;
  267. end;
  268. end.