xref: /inferno-os/module/dial.m (revision ef0540196bd7163f29ec3259e3fefb7a12d659dc)
1*ef054019SCharles.ForsythDial: module
2*ef054019SCharles.Forsyth{
3*ef054019SCharles.Forsyth	PATH: con "/dis/lib/dial.dis";
4*ef054019SCharles.Forsyth
5*ef054019SCharles.Forsyth	Connection: adt
6*ef054019SCharles.Forsyth	{
7*ef054019SCharles.Forsyth		dfd:	ref Sys->FD;
8*ef054019SCharles.Forsyth		cfd:	ref Sys->FD;
9*ef054019SCharles.Forsyth		dir:	string;
10*ef054019SCharles.Forsyth	};
11*ef054019SCharles.Forsyth
12*ef054019SCharles.Forsyth	Conninfo: adt
13*ef054019SCharles.Forsyth	{
14*ef054019SCharles.Forsyth		dir:	string;
15*ef054019SCharles.Forsyth		root:	string;
16*ef054019SCharles.Forsyth		spec:	string;
17*ef054019SCharles.Forsyth		lsys:	string;
18*ef054019SCharles.Forsyth		lserv:	string;
19*ef054019SCharles.Forsyth		rsys:	string;
20*ef054019SCharles.Forsyth		rserv:	string;
21*ef054019SCharles.Forsyth		laddr:	string;
22*ef054019SCharles.Forsyth		raddr:	string;
23*ef054019SCharles.Forsyth	};
24*ef054019SCharles.Forsyth
25*ef054019SCharles.Forsyth	announce:	fn(addr: string): ref Connection;
26*ef054019SCharles.Forsyth	dial:	fn(addr, local: string): ref Connection;
27*ef054019SCharles.Forsyth	listen:	fn(c: ref Connection): ref Connection;
28*ef054019SCharles.Forsyth	accept:	fn(c: ref Connection): ref Sys->FD;
29*ef054019SCharles.Forsyth	reject:	fn(c: ref Connection, why: string): int;
30*ef054019SCharles.Forsyth#	parse:	fn(addr: string): (string, string, string);
31*ef054019SCharles.Forsyth
32*ef054019SCharles.Forsyth	netmkaddr:	fn(addr, net, svc: string): string;
33*ef054019SCharles.Forsyth	netinfo:	fn(c: ref Connection): ref Conninfo;
34*ef054019SCharles.Forsyth};
35