/* ,file-id archive://[lord]/428/rx/errnorx.h/1998-05-18
 */
#ifndef ERRNORXH
#define ERRNORXH

/*	Copyright (C) 1997 Tom Lord
 * 
 * This program is provided to you under the terms of the Liberty Software
 * License.  You are NOT permitted to redistribute, modify, or use it
 * except in very specific ways described by that license.
 *
 * This software comes with NO WARRANTY.
 * 
 * You should have received a copy of the Liberty Software License
 * along with this software; see the file =LICENSE.  If not, write to
 * the Tom Lord, 1810 Francisco St. #2, Berkeley CA, 94703, USA.  
 */



extern char *reg_error_msg[];

#define RX_ERRNO_LIST \
  RX_ERRNO(REG_NOERROR, "no error") \
  RX_ERRNO(REG_NOMATCH, "no match") \
  RX_ERRNO(REG_BADPAT, "invalid regular expression") \
  RX_ERRNO(REG_ECOLLATE, "invalid collation character") \
  RX_ERRNO(REG_ECTYPE, "invalid character class name") \
  RX_ERRNO(REG_EESCAPE, "trailing backslash") \
  RX_ERRNO(REG_ESUBREG, "invalid back reference") \
  RX_ERRNO(REG_EBRACK, "unmatched [ or [^") \
  RX_ERRNO(REG_EPAREN, "unmatched ( or \\(") \
  RX_ERRNO(REG_EBRACE, "unmatched \\{") \
  RX_ERRNO(REG_BADBR, "invalid content of \\{\\}") \
  RX_ERRNO(REG_ERANGE, "invalid range end") \
  RX_ERRNO(REG_ESPACE, "memory exhausted") \
  RX_ERRNO(REG_BADRPT, "invalid preceding regular expression") \
  RX_ERRNO(REG_EEND, "premature end of regular expression") \
  RX_ERRNO(REG_ESIZE, "regular expression too big") \
  RX_ERRNO(REG_ERPAREN, "unmatched ) or \\)")

enum rx_errno
{
#undef RX_ERRNO
#define RX_ERRNO(A,B)	A,
  RX_ERRNO_LIST
};


/* automatically generated __STDC__ prototypes */
#endif  /* ERRNORXH */
