xref: /inferno-os/module/filter.m (revision 46439007cf417cbd9ac8049bb4122c890097a0fa)
1*46439007SCharles.ForsythFilter: module
2*46439007SCharles.Forsyth{
3*46439007SCharles.Forsyth	DEFLATEPATH: con "/dis/lib/deflate.dis";
4*46439007SCharles.Forsyth	INFLATEPATH: con "/dis/lib/inflate.dis";
5*46439007SCharles.Forsyth	SLIPPATH: con "/dis/lib/slip.dis";
6*46439007SCharles.Forsyth
7*46439007SCharles.Forsyth	Rq: adt {
8*46439007SCharles.Forsyth		pick {
9*46439007SCharles.Forsyth		Start =>
10*46439007SCharles.Forsyth			pid: int;
11*46439007SCharles.Forsyth		Fill or Result =>
12*46439007SCharles.Forsyth			buf: array of byte;
13*46439007SCharles.Forsyth			reply: chan of int;
14*46439007SCharles.Forsyth		Info =>
15*46439007SCharles.Forsyth			msg: string;
16*46439007SCharles.Forsyth		Finished =>
17*46439007SCharles.Forsyth			buf: array of byte;
18*46439007SCharles.Forsyth		Error =>
19*46439007SCharles.Forsyth			e: string;
20*46439007SCharles.Forsyth		}
21*46439007SCharles.Forsyth	};
22*46439007SCharles.Forsyth
23*46439007SCharles.Forsyth	init: fn();
24*46439007SCharles.Forsyth	start: fn(param: string): chan of ref Rq;
25*46439007SCharles.Forsyth};
26