blob: c547ec168e103bb8ee69658c2ee7208629f5fcbb (
plain)
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
|
Inflate: module
{
PATH: con "/dis/lib/inflate.dis";
InflateBlock: con 16r8000;
InflateMask: con 16rf0000;
InflateEmptyIn,
InflateFlushOut,
InflateAck,
InflateDone,
InflateError: con iota + (1 << 16) + 1;
# conduit for data streaming between inflate and its producer/consumer
InflateIO: adt
{
ibuf: array of byte; # input buffer [InflateBlock]
obuf: array of byte; # output buffer [InflateBlock]
c: chan of int; # for inflate <-> server comm.
};
init: fn();
reset: fn(): ref InflateIO;
inflate: fn();
};
|