LLVM: lib/Support/regex_impl.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38#ifndef LLVM_SUPPORT_REGEX_IMPL_H

39#define LLVM_SUPPORT_REGEX_IMPL_H

40

41#include <sys/types.h>

43typedef struct {

47

50 size_t re_nsub;

51 const char *re_endp;

52 struct re_guts *re_g;

54

55

56#define REG_BASIC 0000

57#define REG_EXTENDED 0001

58#define REG_ICASE 0002

59#define REG_NOSUB 0004

60#define REG_NEWLINE 0010

61#define REG_NOSPEC 0020

62#define REG_PEND 0040

63#define REG_DUMP 0200

64

65

66#define REG_NOMATCH 1

67#define REG_BADPAT 2

68#define REG_ECOLLATE 3

69#define REG_ECTYPE 4

70#define REG_EESCAPE 5

71#define REG_ESUBREG 6

72#define REG_EBRACK 7

73#define REG_EPAREN 8

74#define REG_EBRACE 9

75#define REG_BADBR 10

76#define REG_ERANGE 11

77#define REG_ESPACE 12

78#define REG_BADRPT 13

79#define REG_EMPTY 14

80#define REG_ASSERT 15

81#define REG_INVARG 16

82#define REG_ATOI 255

83#define REG_ITOA 0400

84

85

86#define REG_NOTBOL 00001

87#define REG_NOTEOL 00002

88#define REG_STARTEND 00004

89#define REG_TRACE 00400

90#define REG_LARGE 01000

91#define REG_BACKR 02000

92

93#ifdef __cplusplus

94extern "C" {

95#endif

96

102size_t llvm_strlcpy(char *dst, const char *src, size_t siz);

103

104#ifdef __cplusplus

105}

106#endif

107

108#endif

size_t llvm_strlcpy(char *dst, const char *src, size_t siz)

struct llvm_regex llvm_regex_t

void llvm_regfree(llvm_regex_t *)

int llvm_regcomp(llvm_regex_t *, const char *, int)

int llvm_regexec(const llvm_regex_t *, const char *, size_t, llvm_regmatch_t[], int)

size_t llvm_regerror(int, const llvm_regex_t *, char *, size_t)