#ifndef AREXX_H
#define AREXX_H
/*
**
**	$Id: arexx.h,v 1.1 1995/10/07 02:49:02 amiga Exp $
**	$Revision: 1.1 $
**
**	$Filename: answeringmachine/arexx.h $
**	$Author: amiga $
**	$Date: 1995/10/07 02:49:02 $
**	$Portability: AMIGADOS $
**
**	Header file für das ARexx-Interface
**
**	COPYRIGHT (C) 1991, 1992 BY CHRISTIAN A. WEBER, ZUERICH.
**	COPYRIGHT (C) 1992-1995 BY RELOG AG, ZUERICH. ALL RIGHTS RESERVED.
**	NO PART OF THIS SOFTWARE MAY BE COPIED, REPRODUCED, OR TRANSMITTED
**	IN ANY FORM OR BY ANY MEANS,  WITHOUT THE PRIOR WRITTEN PERMISSION
**	OF RELOG AG.
**
*/

#include "os.h"
#include <exec/ports.h>

#include <rexx/rxslib.h>
#include <rexx/storage.h>
#include <rexx/errors.h>


/*
**	REXX command handler function prototype
*/
typedef S32 RexxFunc( char *, VOID * );


/*
**	ARexx Port Structure
*/
struct ARexxPort
{
	struct MsgPort	*Port;
	VOID			*UserData;	/* Second parameter for RexxFunc */
	U16				MsgCount;
};


/*
**	Variable
*/
#ifdef _AREXX
#define VEXTERN
#else
#define VEXTERN extern
#endif

VEXTERN char	rexx_resultstring[256];		/* Puffer für ARexx-Resultate */

#undef VEXTERN


/*
**	Prototypes
*/

BOOL
ARexx_Init( VOID );

VOID
ARexx_Exit( VOID );

struct ARexxPort *
ARexx_CreatePort( char *, VOID * );

VOID
ARexx_DeletePort( struct ARexxPort * );

BOOL
ARexx_GetString( char **, char *, int );

BOOL
ARexx_GetInteger( char **, S32 * );

VOID
ARexx_HandleMessages( struct ARexxPort * );

BOOL
ARexx_LaunchScript( struct ARexxPort *, char * );

#endif
