/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1985-2012 AT&T Intellectual Property *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* David Korn <dgk@research.att.com> *
* Phong Vo <kpv@research.att.com> *
* *
***********************************************************************/
#pragma prototyped
/*
* regex library interface
*/
#ifdef _AST_STD_I
#define regex_t int
#define regmatch_t int
#endif
#ifndef _REGEX_H
#include <ast_common.h>
#include <ast_wchar.h>
#include <ast_api.h>
/* regcomp flags */
/* nonstandard regcomp flags */
/* regexec flags */
/* nonstandard regexec flags */
/* regalloc flags */
/* regsub flags */
/* regex error codes */
typedef int (*regclass_t)(int);
typedef int (*regexec_t)(const regex_t*, void*, const char*, size_t, const char*, size_t, char**, regdisc_t*);
#if ASTAPI(20120528)
#else
typedef int regoff_t;
#endif
typedef struct regmatch_s
{
} regmatch_t;
typedef struct regsub_s
{
#ifdef _REG_SUB_PRIVATE_
#endif
} regsub_t;
struct regdisc_s
{
};
typedef struct regstat_s
{
} regstat_t;
struct regex_s
{
};
#if _BLD_ast && defined(__EXPORT__)
#define extern __EXPORT__
#endif
/* nonstandard hooks */
extern regclass_t regclass(const char*, char**);
extern int regaddclass(const char*, regclass_t);
extern void regfatalpat(regex_t*, int, int, const char*);
extern int regrexec(const regex_t*, const char*, size_t, size_t, regmatch_t*, regflags_t, int, void*, regrecord_t);
extern void regsubfree(regex_t*);
/* obsolete hooks */
#ifndef _SFIO_H
struct _sfio_s;
#endif
extern int regsub(const regex_t*, struct _sfio_s*, const char*, const char*, size_t, regmatch_t*, regflags_t);
#undef extern
#endif