PLUGIN tcp
USE
	TYPE com.device
	FUNCTION com.device $tcp.client -> com.device ?
	INTERRUPTION com.interrupted
DEFINE
	STRUCT tcp.client
	FUNCTION tcp.device_client_open STR:host STR:service -> $tcp.client
	FUNCTION tcp.device_client_print $tcp.client -> STR
	FUNCTION tcp.device_client_read $tcp.client -> STR ?
	FUNCTION tcp.device_client_write $tcp.client STR
	FUNCTION tcp.device_client_idle $tcp.client MUTABLE INT 3
	FUNCTION tcp.device_client_command $tcp.client . * -> VALUE ?
	FUNCTION tcp.device_client_close $tcp.client -> BLN
	WAITING INSTRUCTION tcp.server STR:host STR:service INT:queue > STR:process_name SYM:code PTR:memory PEP:scheduler PEP:sequencer ?
	OPTION tcp.scheduler_run_limit -l INT
	OPTION tcp.scheduler_run_time -t INT
	SYSTEM INSTRUCTION tcp.scheduler_run_limit INT
	SCHEDULER tcp.scheduler
