xref: /inferno-os/module/msgio.m (revision a182ad059370106bdb7caf521599e39612bfc7cf)
1Msgio: module
2{
3	PATH:	con "/dis/lib/msgio.dis";
4
5	init:	fn();
6
7	Maxmsg: con 4096;
8
9	# message io on a delimited connection (ssl for example)
10	#  messages >= Maxmsg bytes are truncated
11	#  errors > 64 bytes are truncated
12	# getstring and getbytearray return (result, error).
13	getstring: fn(fd: ref Sys->FD): (string, string);
14	putstring: fn(fd: ref Sys->FD, s: string): int;
15	getbytearray: fn(fd: ref Sys->FD): (array of byte, string);
16	putbytearray: fn(fd: ref Sys->FD, a: array of byte, n: int): int;
17	puterror: fn(fd: ref Sys->FD, s: string): int;
18
19	# to send and receive messages when ssl isn't pushed
20	getmsg: fn(fd: ref Sys->FD): array of byte;
21	sendmsg: fn(fd: ref Sys->FD, buf: array of byte, n: int): int;
22	senderrmsg: fn(fd: ref Sys->FD, s: string): int;
23};
24