definition module temp;

import
	State;
	
class Output2 a
where
{
	WriteOutput2 :: !WriteOutput2Record !*a -> *a;
	
	ChangeState :: !ChangeStateRecord !*a -> (!*State,*a)
};

instance Output2 Int;



:: WriteOutput2Record = {
	file_or_memory	:: !Int,
	offset			:: !Int,
	string			:: !{#Char}
	};
	
:: *ChangeStateRecord = {
	file_n			:: !Int,
	module_n		:: !Int,
	state			:: !*State
	};


write_code_to_pe_files :: !Int !Bool !Int !Int (!Int,!Int) !State /*!Bool*/ !*a !*Files -> (!*a,!State,!*Files) | Output2 a;
