home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / less2912.zip / regexp.h < prev    next >
C/C++ Source or Header  |  1995-02-01  |  898b  |  34 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 void regsub _ANSI_ARGS_((regexp *prog, char *source, char *dest));
  31. extern void regerror _ANSI_ARGS_((char *msg));
  32.  
  33. #endif /* REGEXP */
  34.