regex.h 1.1 KB

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