/*****************************************************************************
*
*		R U N T I M E   S T A R T O F F   R O U T I N E
*		-----------------------------------------------
*	Copyright 1982,83 by Digital Research Inc.  All rights reserved.
*
*	Routine "_main" is entered from the C header routine to start a C 
*	program.  It opens STDIN, STDOUT and STDERR to the console, and
*	translates the command line to lower case.  Then it calls "__main()".
*	There are two versions of "__main()" (one compiled for wildcards
*	and the other compiled without) compiled from the source module
*	"XMAIN.C".
*
*	Calling Sequence:
*		return = _main(command,length);
*
*	Where:
*		command		Is the address of the command line from CP/M
*		length		Is the number of characters in the line, 
*				excluding the termination character (CR/LF).
*
*	Modfications:
*		11-Oct-83 whf  converted to DRC from CPM68K
*
*****************************************************************************/

#include "portab.h"				/* Include std definitions  */
#include "osif.h"				/*			    */
#include "ctype.h"				/*			    */

EXTERN	BYTE	__tname[];			/* Name of terminal device  */
EXTERN	BYTE	__fdecls();			/* force loading of _iob    */
EXTERN	BYTE	___atab();			/* force loading of ___atab */

#define STDIN 0					/* file descriptors	    */
#define STDOUT 1				/*			    */
#define STDERR 2				/*			    */
						/*			    */
_main(com, len)					/****************************/
	BYTE 	*com;				/* Command address	    */
	WORD	len;				/* Command length	    */
{						/****************************/
REG	BYTE 	*s;				/* Temp byte pointer	    */
						/****************************/
	_chinit();				/* Initialize channels	    */
	open(__tname,READ);			/* Open STDIN		    */
	open(__tname,WRITE);			/* Open STDOUT		    */
	open(__tname,WRITE);			/* Open STDERR		    */
	com[len] = NULL;			/* Insure null at line end  */
	for (s = com; *s; s++)			/* Convert string to	    */
		*s = tolower(*s);		/*          lower case	    */
	__main(com,len);			/* Do rest (replaceable)    */
}						/****************************/

in(com,len);			/* Do rest (replaceable)    */
}						/****************************/

in(com,len);			/* Do rest (replaceable)    */
}						/****************************/

