PLUGIN sandbox
USE
	STRUCT com.file
	TYPE com.device
	FUNCTION com.device_file_close $com.file -> BLN
	FUNCTION com.device_file_command $com.file . * -> VALUE ?
	FUNCTION com.device_file_open [ < > <> >> ] STR [ 'EXEC' 'PRIV' ] * -> $com.file
	FUNCTION com.device_file_print $com.file -> STR
	FUNCTION com.device_file_read $com.file -> STR ?
	FUNCTION com.device_file_write $com.file STR
	FUNCTION com.device $sandbox.file -> com.device ?
DEFINE
	TYPE sandbox.folder
	SYSTEM INSTRUCTION sandbox.new STR -> sandbox.folder
	WAITING INSTRUCTION sandbox.open sandbox.folder [ < > <> >> ] STR [ 'EXEC' 'PRIV' ] * -> com.device
	STRUCT sandbox.file
	FUNCTION sandbox.device_file_open sandbox.folder [ < > <> >> ] STR [ 'EXEC' 'PRIV' ] * -> $sandbox.file
	FUNCTION sandbox.device_file_read $sandbox.file -> STR ?
	FUNCTION sandbox.device_file_write $sandbox.file STR
	FUNCTION sandbox.device_file_close $sandbox.file -> BLN
	FUNCTION sandbox.device_file_print $sandbox.file -> STR
	FUNCTION sandbox.device_file_command $sandbox.file . * -> VALUE ?
	INTERRUPTION sandbox.out
