/*
    AUTOMATICALLY GENERATED BY tspec 2.10
    API SUBSET: posix2:regex.h (VERSION 2.6)
*/

#ifndef __TDF_POSIX2_REGEX_H
#define __TDF_POSIX2_REGEX_H

#ifdef __cplusplus
extern "C" {
#endif

#pragma TenDRA declaration block api__posix2__regex begin

#ifndef __TDF_ANSI_STDDEF_H_SIZE_T
#pragma extend interface "../shared/ansi.api/size_t.h"
#endif /* __TDF_ANSI_STDDEF_H_SIZE_T */
#pragma token EXP const : int : REG_EXTENDED # posix2.regex.REG_EXTENDED
#pragma token EXP const : int : REG_ICASE # posix2.regex.REG_ICASE
#pragma token EXP const : int : REG_NOSUB # posix2.regex.REG_NOSUB
#pragma token EXP const : int : REG_NEWLINE # posix2.regex.REG_NEWLINE
#pragma token EXP const : int : REG_NOTBOL # posix2.regex.REG_NOTBOL
#pragma token EXP const : int : REG_NOTEOL # posix2.regex.REG_NOTEOL
#pragma token EXP const : int : REG_NOMATCH # posix2.regex.REG_NOMATCH
#pragma token EXP const : int : REG_BADPAT # posix2.regex.REG_BADPAT
#pragma token EXP const : int : REG_ECOLLATE # posix2.regex.REG_ECOLLATE
#pragma token EXP const : int : REG_ECTYPE # posix2.regex.REG_ECTYPE
#pragma token EXP const : int : REG_EESCAPE # posix2.regex.REG_EESCAPE
#pragma token EXP const : int : REG_ESUBREG # posix2.regex.REG_ESUBREG
#pragma token EXP const : int : REG_EBRACK # posix2.regex.REG_EBRACK
#pragma token EXP const : int : REG_EPAREN # posix2.regex.REG_EPAREN
#pragma token EXP const : int : REG_EBRACE # posix2.regex.REG_EBRACE
#pragma token EXP const : int : REG_BADBR # posix2.regex.REG_BADBR
#pragma token EXP const : int : REG_ERANGE # posix2.regex.REG_ERANGE
#pragma token EXP const : int : REG_ESPACE # posix2.regex.REG_ESPACE
#pragma token EXP const : int : REG_BADRPT # posix2.regex.REG_BADRPT
#pragma token EXP const : int : REG_ENOSYS # posix2.regex.REG_ENOSYS
#pragma token STRUCT regex_t # posix2.regex.regex_t
#pragma token MEMBER size_t : regex_t : re_nsub # posix2.regex.regex_t.re_nsub
#pragma token VARIETY regoff_t # posix2.regex.regoff_t
#pragma token STRUCT regmatch_t # posix2.regex.regmatch_t
#pragma token MEMBER regoff_t : regmatch_t : rm_so # posix2.regex.regmatch_t.rm_so
#pragma token MEMBER regoff_t : regmatch_t : rm_eo # posix2.regex.regmatch_t.rm_eo
#pragma token FUNC int (regex_t *, const char *, int) : regcomp # posix2.regex.regcomp
#pragma token FUNC int (const regex_t *, const char *, size_t, regmatch_t *, int) : regexec # posix2.regex.regexec
#pragma token FUNC size_t (int, const regex_t *, char *, size_t) : regerror # posix2.regex.regerror
#pragma token FUNC void (regex_t *) : regfree # posix2.regex.regfree

#pragma interface REG_EXTENDED REG_ICASE REG_NOSUB REG_NEWLINE REG_NOTBOL
#pragma interface REG_NOTEOL REG_NOMATCH REG_BADPAT REG_ECOLLATE REG_ECTYPE
#pragma interface REG_EESCAPE REG_ESUBREG REG_EBRACK REG_EPAREN REG_EBRACE
#pragma interface REG_BADBR REG_ERANGE REG_ESPACE REG_BADRPT REG_ENOSYS
#pragma interface regex_t regex_t.re_nsub regoff_t regmatch_t
#pragma interface regmatch_t.rm_so regmatch_t.rm_eo regcomp regexec regerror
#pragma interface regfree

#pragma TenDRA declaration block end

#ifdef __cplusplus
}
#endif

#endif /* __TDF_POSIX2_REGEX_H */
