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