1Message: module 2{ 3 PATH: con "/dis/svc/webget/message.dis"; 4 5 init: fn(bufio: Bufio, smod: String); 6 7 Nameval: adt { 8 name: string; 9 value: string; 10 }; 11 12 Msg: adt { 13 prefixline: string; 14 prefixbytes: array of byte; 15 fields: array of Nameval; 16 body: array of byte; 17 bodylen: int; 18 19 readhdr: fn(io: ref Bufio->Iobuf, withprefix: int) : (ref Msg, string); 20 readbody: fn(m: self ref Msg, io: ref Bufio->Iobuf) : string; 21 writemsg: fn(m: self ref Msg, io: ref Bufio->Iobuf) : string; 22 header: fn(m: self ref Msg) : string; 23 addhdrs: fn(m: self ref Msg, hdrs: list of Nameval); 24 newmsg: fn() : ref Msg; 25 fieldval: fn(m: self ref Msg, name: string) : (int, string); 26 update: fn(m: self ref Msg, name, value: string); 27 }; 28}; 29