home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 6 File / 06-File.zip / less373.zip / regexp.h < prev    next >
C/C++ Source or Header  |  2002-01-14  |  973b  |  35 lines

  1. /*
  2.  * Definitions etc. for regexp(3) routines.
  3.  *
  4.  * Caveat:  this is V8 regexp(3) [actually, a reimplementation thereof],
  5.  * not the System V one.
  6.  */
  7.  
  8. #ifndef _REGEXP
  9. #define _REGEXP 1
  10.  
  11. #define NSUBEXP  10
  12. typedef struct regexp {
  13.     char *startp[NSUBEXP];
  14.     char *endp[NSUBEXP];
  15.     char regstart;        /* Internal use only. */
  16.     char reganch;        /* Internal use only. */
  17.     char *regmust;        /* Internal use only. */
  18.     int regmlen;        /* Internal use only. */
  19.     char program[1];    /* Unwarranted chumminess with compiler. */
  20. } regexp;
  21.  
  22. #if defined(__STDC__) || defined(__cplusplus)
  23. #   define _ANSI_ARGS_(x)       x
  24. #else
  25. #   define _ANSI_ARGS_(x)       ()
  26. #endif
  27.  
  28. extern regexp *regcomp _ANSI_ARGS_((char *exp));
  29. extern int regexec _ANSI_ARGS_((regexp *prog, char *string));
  30. extern int regexec2 _ANSI_ARGS_((regexp *prog, char *string, int notbol));
  31. extern void regsub _ANSI_ARGS_((regexp *prog, char *source, char *dest));
  32. extern void regerror _ANSI_ARGS_((char *msg));
  33.  
  34. #endif /* REGEXP */
  35.