#ifndef LIBRARIES_PATTERN_H
#define LIBRARIES_PATTERN_H

/*
**
**	$Filename: libraries/pattern.h $
**	$Version: 5.00 $
**	$Date: 92/01/28 $
**
**	pattern.library definitions and prototypes
**
**	(C) Copyright 1992 by Angela Schmidt, Neu-Ulm 8, Germany
**	    All Rights Reserved
**
*/

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifndef INTUITION_INTUITION_H
#include <intuition/intuition.h>
#endif


#define Prototype extern	/* DICE likes this */


/*****************\
*** Definitions ***
\*****************/

#define PATLIB_MIN_VERSION 5L		/* Version of the 1st library released	*/
#define PATLIB_ACT_VERSION 5L		/* Version of the actual library	*/
					/* Please use PATLIB_MIN_VERSION	*/
					/* in your sources whenever possible.	*/
#define PATLIB_REVISION 0L		/* Revision of the libray.		*/
#define PATLIB_NAME "pattern.library"	/* Name of this famous library		*/


/****************\
*** Prototypes ***
\****************/

Prototype void Surprise (struct Window *, LONG);
Prototype STRPTR Str2Upper (STRPTR);
Prototype STRPTR Str2Lower (STRPTR);
Prototype UBYTE Char2Upper (UBYTE);
Prototype UBYTE Char2Lower (UBYTE);
Prototype LONG GetAllocCounter (void);
Prototype LONG AllocPattern (STRPTR, ULONG);
Prototype LONG AllocPatternNoCase (STRPTR, ULONG);
Prototype LONG IsPattern (STRPTR, STRPTR, ULONG);
Prototype STRPTR ESCPattern (STRPTR, STRPTR, ULONG);
Prototype LONG MatchThePattern (LONG, STRPTR);
Prototype void FreePattern (LONG);
Prototype LONG SimpleMatch (STRPTR, STRPTR);
Prototype LONG SimpleMatchNoCase (STRPTR, STRPTR);
Prototype STRPTR PatternErrorString (LONG, STRPTR, STRPTR, ULONG);
Prototype LONG PatternError2DOS (LONG);
Prototype LONG XParsePattern (STRPTR, STRPTR, LONG);
Prototype LONG XParsePatternNoCase (STRPTR, STRPTR, LONG);
Prototype BOOL XMatchPattern (STRPTR, STRPTR);
Prototype BOOL XMatchPatternNoCase (STRPTR, STRPTR);

/* "pattern.library"*/
/*pragma libcall PatternBase ARexxFunction 1E 0*/
#pragma libcall PatternBase Surprise 24 0802
#pragma libcall PatternBase Str2Upper 2A 801
#pragma libcall PatternBase Str2Lower 30 801
#pragma libcall PatternBase Char2Upper 36 001
#pragma libcall PatternBase Char2Lower 3C 001
#pragma libcall PatternBase GetAllocCounter 42 0
#pragma libcall PatternBase AllocPattern 48 0802
#pragma libcall PatternBase AllocPatternNoCase 4E 0802
#pragma libcall PatternBase IsPattern 54 09803
#pragma libcall PatternBase ESCPattern 5A 09803
#pragma libcall PatternBase MatchThePattern 60 8002
#pragma libcall PatternBase FreePattern 66 001
#pragma libcall PatternBase SimpleMatch 6C 9802
#pragma libcall PatternBase SimpleMatchNoCase 72 9802
#pragma libcall PatternBase PatternErrorString 78 198004
#pragma libcall PatternBase PatternError2DOS 7E 001
#pragma libcall PatternBase XParsePattern 84 32103
#pragma libcall PatternBase XParsePatternNoCase 8A 32103
#pragma libcall PatternBase XMatchPattern 90 2102
#pragma libcall PatternBase XMatchPatternNoCase 96 2102

#endif /* LIBRARIES_PATTERN_H */
