LLVM 20.0.0git
Classes | Macros | Typedefs | Functions
regex_impl.h File Reference
#include <sys/types.h>

Go to the source code of this file.

Classes

struct  llvm_regmatch_t
 
struct  llvm_regex
 

Macros

#define REG_BASIC   0000
 
#define REG_EXTENDED   0001
 
#define REG_ICASE   0002
 
#define REG_NOSUB   0004
 
#define REG_NEWLINE   0010
 
#define REG_NOSPEC   0020
 
#define REG_PEND   0040
 
#define REG_DUMP   0200
 
#define REG_NOMATCH   1
 
#define REG_BADPAT   2
 
#define REG_ECOLLATE   3
 
#define REG_ECTYPE   4
 
#define REG_EESCAPE   5
 
#define REG_ESUBREG   6
 
#define REG_EBRACK   7
 
#define REG_EPAREN   8
 
#define REG_EBRACE   9
 
#define REG_BADBR   10
 
#define REG_ERANGE   11
 
#define REG_ESPACE   12
 
#define REG_BADRPT   13
 
#define REG_EMPTY   14
 
#define REG_ASSERT   15
 
#define REG_INVARG   16
 
#define REG_ATOI   255 /* convert name to number (!) */
 
#define REG_ITOA   0400 /* convert number to name (!) */
 
#define REG_NOTBOL   00001
 
#define REG_NOTEOL   00002
 
#define REG_STARTEND   00004
 
#define REG_TRACE   00400 /* tracing of execution */
 
#define REG_LARGE   01000 /* force large representation */
 
#define REG_BACKR   02000 /* force use of backref code */
 

Typedefs

typedef off_t llvm_regoff_t
 
typedef struct llvm_regex llvm_regex_t
 

Functions

int llvm_regcomp (llvm_regex_t *, const char *, int)
 
size_t llvm_regerror (int, const llvm_regex_t *, char *, size_t)
 
int llvm_regexec (const llvm_regex_t *, const char *, size_t, llvm_regmatch_t[], int)
 
void llvm_regfree (llvm_regex_t *)
 
size_t llvm_strlcpy (char *dst, const char *src, size_t siz)
 

Macro Definition Documentation

◆ REG_ASSERT

#define REG_ASSERT   15

Definition at line 80 of file regex_impl.h.

◆ REG_ATOI

#define REG_ATOI   255 /* convert name to number (!) */

Definition at line 82 of file regex_impl.h.

◆ REG_BACKR

#define REG_BACKR   02000 /* force use of backref code */

Definition at line 91 of file regex_impl.h.

◆ REG_BADBR

#define REG_BADBR   10

Definition at line 75 of file regex_impl.h.

◆ REG_BADPAT

#define REG_BADPAT   2

Definition at line 67 of file regex_impl.h.

◆ REG_BADRPT

#define REG_BADRPT   13

Definition at line 78 of file regex_impl.h.

◆ REG_BASIC

#define REG_BASIC   0000

Definition at line 56 of file regex_impl.h.

◆ REG_DUMP

#define REG_DUMP   0200

Definition at line 63 of file regex_impl.h.

◆ REG_EBRACE

#define REG_EBRACE   9

Definition at line 74 of file regex_impl.h.

◆ REG_EBRACK

#define REG_EBRACK   7

Definition at line 72 of file regex_impl.h.

◆ REG_ECOLLATE

#define REG_ECOLLATE   3

Definition at line 68 of file regex_impl.h.

◆ REG_ECTYPE

#define REG_ECTYPE   4

Definition at line 69 of file regex_impl.h.

◆ REG_EESCAPE

#define REG_EESCAPE   5

Definition at line 70 of file regex_impl.h.

◆ REG_EMPTY

#define REG_EMPTY   14

Definition at line 79 of file regex_impl.h.

◆ REG_EPAREN

#define REG_EPAREN   8

Definition at line 73 of file regex_impl.h.

◆ REG_ERANGE

#define REG_ERANGE   11

Definition at line 76 of file regex_impl.h.

◆ REG_ESPACE

#define REG_ESPACE   12

Definition at line 77 of file regex_impl.h.

◆ REG_ESUBREG

#define REG_ESUBREG   6

Definition at line 71 of file regex_impl.h.

◆ REG_EXTENDED

#define REG_EXTENDED   0001

Definition at line 57 of file regex_impl.h.

◆ REG_ICASE

#define REG_ICASE   0002

Definition at line 58 of file regex_impl.h.

◆ REG_INVARG

#define REG_INVARG   16

Definition at line 81 of file regex_impl.h.

◆ REG_ITOA

#define REG_ITOA   0400 /* convert number to name (!) */

Definition at line 83 of file regex_impl.h.

◆ REG_LARGE

#define REG_LARGE   01000 /* force large representation */

Definition at line 90 of file regex_impl.h.

◆ REG_NEWLINE

#define REG_NEWLINE   0010

Definition at line 60 of file regex_impl.h.

◆ REG_NOMATCH

#define REG_NOMATCH   1

Definition at line 66 of file regex_impl.h.

◆ REG_NOSPEC

#define REG_NOSPEC   0020

Definition at line 61 of file regex_impl.h.

◆ REG_NOSUB

#define REG_NOSUB   0004

Definition at line 59 of file regex_impl.h.

◆ REG_NOTBOL

#define REG_NOTBOL   00001

Definition at line 86 of file regex_impl.h.

◆ REG_NOTEOL

#define REG_NOTEOL   00002

Definition at line 87 of file regex_impl.h.

◆ REG_PEND

#define REG_PEND   0040

Definition at line 62 of file regex_impl.h.

◆ REG_STARTEND

#define REG_STARTEND   00004

Definition at line 88 of file regex_impl.h.

◆ REG_TRACE

#define REG_TRACE   00400 /* tracing of execution */

Definition at line 89 of file regex_impl.h.

Typedef Documentation

◆ llvm_regex_t

typedef struct llvm_regex llvm_regex_t

◆ llvm_regoff_t

typedef off_t llvm_regoff_t

Definition at line 42 of file regex_impl.h.

Function Documentation

◆ llvm_regcomp()

int llvm_regcomp ( llvm_regex_t preg,
const char pattern,
int  cflags 
)

◆ llvm_regerror()

size_t llvm_regerror ( int  errcode,
const llvm_regex_t preg,
char errbuf,
size_t  errbuf_size 
)

◆ llvm_regexec()

int llvm_regexec ( const llvm_regex_t preg,
const char string,
size_t  nmatch,
llvm_regmatch_t  pmatch[],
int  eflags 
)

◆ llvm_regfree()

void llvm_regfree ( llvm_regex_t preg)

Definition at line 50 of file regfree.c.

References g(), MAGIC1, MAGIC2, llvm_regex::re_g, and llvm_regex::re_magic.

Referenced by llvm_regcomp(), and llvm::Regex::~Regex().

◆ llvm_strlcpy()

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

Definition at line 29 of file regstrlcpy.c.

Referenced by llvm_regerror(), and mcadd().