{*	DEMOEXEC.PAS - demonstration progam for calling C library functions
 *
 *	Microsoft Pascal release 3.32 can call large model C functions.
 *	Please read PASEXEC.INC for more details on interlanguage calling.
 *
 *	To compile and link DEMOEXEC.PAS
 *
 *	pas1 demoexec;
 *	pas2
 *	link demoexec,,,cexec;		(must search CEXEC.LIB)
 *}

program demoexec(input,output);

{$include : 'pasexec.inc'}

var
	i : integer;
	NULL : integer4;

value
	NULL := 0;

begin

{*	invoke command.com with a command line
 *
 *		dir *.for
 *}
	i := system(ads('dir *.pas'*chr(0)));
	writeln (output,'system return code = ',i);
	writeln (output,' ');

{*	invoke a child process
 *
 *		exemod		(display usage line only)
 *}
	i := spawnlp(0,ads('exemod'*chr(0)),ads('exemod'*chr(0)),NULL);
	writeln (output,'spawnlp return code =',i);
	writeln (output,' ');

{*	invoke an overlay process (chaining)
 *
 *		exemod demoexec.exe
 *}
	i := spawnlp(_p_overlay,ads('exemod'*chr(0)),ads('exemod'*chr(0)),
		     ads('demoexec.exe'*chr(0)),NULL);

{*	we should never see this if spawnlp (overlay) is successful
 *}
	writeln (output,'spawnlp return code =',i);
	writeln (output,' ');

end.
