1
0

regex.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef _REGEX_H
  2. #define _REGEX_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <features.h>
  7. #define __NEED_size_t
  8. #include <bits/alltypes.h>
  9. typedef long regoff_t;
  10. typedef struct {
  11. size_t re_nsub;
  12. void *__opaque, *__padding[4];
  13. size_t __nsub2;
  14. } regex_t;
  15. typedef struct {
  16. regoff_t rm_so;
  17. regoff_t rm_eo;
  18. } regmatch_t;
  19. #define REG_EXTENDED 1
  20. #define REG_ICASE 2
  21. #define REG_NEWLINE 4
  22. #define REG_NOSUB 8
  23. #define REG_NOTBOL 1
  24. #define REG_NOTEOL 2
  25. #define REG_OK 0
  26. #define REG_NOMATCH 1
  27. #define REG_BADPAT 2
  28. #define REG_ECOLLATE 3
  29. #define REG_ECTYPE 4
  30. #define REG_EESCAPE 5
  31. #define REG_ESUBREG 6
  32. #define REG_EBRACK 7
  33. #define REG_EPAREN 8
  34. #define REG_EBRACE 9
  35. #define REG_BADBR 10
  36. #define REG_ERANGE 11
  37. #define REG_ESPACE 12
  38. #define REG_BADRPT 13
  39. #define REG_ENOSYS -1
  40. int regcomp(regex_t *__restrict, const char *__restrict, int);
  41. int regexec(const regex_t *__restrict, const char *__restrict, size_t, regmatch_t *__restrict, int);
  42. void regfree(regex_t *);
  43. size_t regerror(int, const regex_t *__restrict, char *__restrict, size_t);
  44. #ifdef __cplusplus
  45. }
  46. #endif
  47. #endif