/**********************************************************************
 * header file for subset of POSIX regcomp() implemented on re_comp()
 *
 * $Author: cfields $
 * $Source: /mit/slw/src/RCS/regex.h,v $
 * $Header: /mit/slw/src/RCS/regex.h,v 1.1 1995/01/18 05:21:34 cfields Exp cfields $
 *
 * Copyright 1994 by the Massachusetts Institute of Technology.
 *
 * For copying and distribution information, please see the file
 * <mit-copyright.h>.
 **********************************************************************/
#include <mit-copyright.h>

typedef long regoff_t;

#define REG_MAX_ERRLEN 255

typedef struct _regex_t
{
  size_t re_nsub;
  char re_expbuf[512];
  char *re_braslist[9];
  char *re_braelist[9];
  char re_circf;
  char re_errstr[REG_MAX_ERRLEN+1];
} regex_t;

typedef struct _regmatch_t
{
  regoff_t rm_so, rm_eo;
} regmatch_t;

/* flags have no effect in this implementation */
#define REG_EXTENDED	(1<<0)
#define REG_ICASE	(1<<1)
#define REG_NOSUB	(1<<2)
#define REG_NEWLINE	(1<<3)
#define REG_NOTBOL	(1<<4)
#define REG_NOTEOL	(1<<5)

/* error codes are mostly unused */
#define REG_NOMATCH	1
#define REG_BADPAT	2
#define REG_ECOLLATE	3
#define REG_ECTYPE	4
#define REG_EESCAPE	5
#define REG_ESUBREG	6
#define REG_EBRACK	7
#define REG_EPAREN	8
#define REG_EBRACE	9
#define REG_BADBR	10
#define REG_ERANGE	11
#define REG_ESPACE	12
#define REG_BADRPT	13
