{ DON'T EVEN THINK ABOUT EDITING THIS, go see regex/Makefile,
 * search for mkh }

{ ========= begin header generated by ./mkh ========= }

{ === regex2.h === }
{#ifndef API_EXPORT
#ifdef WIN32
#define API_EXPORT(type)    __declspec(dllexport) type __stdcall
#else
#define API_EXPORT(type)    type
#endif
#endif}

{#if defined(MAC_OS) || defined(MAC_OS_X_SERVER) || (defined(DARWIN) && defined(__DYNAMIC__))
#define ap_private_extern __private_extern__
#else
#define ap_private_extern
#endif}

type
  regoff_t = Integer;

{$ifdef windows}
  off_t = regoff_t;
{$endif}

  Pregex_t = ^regex_t;
  
  Pre_guts = Pointer;
  
  regex_t = record
    re_magic: cint;
    re_nsub: size_t;		{ number of parenthesized subexpressions }
    re_endp: PChar;     	{ end pointer for REG_PEND }
    re_g: Pre_guts;	{ none of your business :-) }
  end;

  regmatch_t = record
    rm_so: regoff_t;		{ start of match }
    rm_eo: regoff_t;		{ end of match }
  end;


{ === regcomp.c === }
//API_EXPORT(int) regcomp(regex_t *, const char *, int);

const
 	REG_BASIC	= 0000;
 	REG_EXTENDED	= 0001;
 	REG_ICASE	= 0002;
 	REG_NOSUB	= 0004;
 	REG_NEWLINE	= 0010;
 	REG_NOSPEC	= 0020;
 	REG_PEND	= 0040;
 	REG_DUMP	= 0200;


{ === regerror.c === }
 	REG_NOMATCH	= 1;
 	REG_BADPAT	= 2;
 	REG_ECOLLATE	= 3;
 	REG_ECTYPE	= 4;
 	REG_EESCAPE	= 5;
 	REG_ESUBREG	= 6;
 	REG_EBRACK	= 7;
 	REG_EPAREN	= 8;
 	REG_EBRACE	= 9;
 	REG_BADBR	=10;
 	REG_ERANGE	=11;
 	REG_ESPACE	=12;
 	REG_BADRPT	=13;
 	REG_EMPTY	=14;
 	REG_ASSERT	=15;
 	REG_INVARG	=16;
 	REG_ATOI	=255;	{ convert name to number (!) }
 	REG_ITOA	=0400;	{ convert number to name (!) }

//API_EXPORT(size_t) regerror(int, const regex_t *, char *, size_t);


{ === regexec.c === }
//API_EXPORT(int) regexec(const regex_t *, const char *, size_t, regmatch_t [], int);

const
 	REG_NOTBOL	= 00001;
 	REG_NOTEOL	= 00002;
 	REG_STARTEND	= 00004;
 	REG_TRACE	= 00400;	{ tracing of execution }
 	REG_LARGE	= 01000;	{ force large representation }
 	REG_BACKR	= 02000;	{ force use of backref code }


{ === regfree.c === }
//API_EXPORT(void) regfree(regex_t *);


{ ========= end header generated by ./mkh ========= }

