w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

regex.h File Reference
#include <sys/types.h>
Include dependency graph for regex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  re_pattern_buffer
 
struct  re_registers
 
struct  regmatch_t
 

Macros

#define RE_BACKSLASH_ESCAPE_IN_LISTS   ((unsigned long int) 1)
 
#define RE_BK_PLUS_QM   (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
 
#define RE_CHAR_CLASSES   (RE_BK_PLUS_QM << 1)
 
#define RE_CONTEXT_INDEP_ANCHORS   (RE_CHAR_CLASSES << 1)
 
#define RE_CONTEXT_INDEP_OPS   (RE_CONTEXT_INDEP_ANCHORS << 1)
 
#define RE_CONTEXT_INVALID_OPS   (RE_CONTEXT_INDEP_OPS << 1)
 
#define RE_DOT_NEWLINE   (RE_CONTEXT_INVALID_OPS << 1)
 
#define RE_DOT_NOT_NULL   (RE_DOT_NEWLINE << 1)
 
#define RE_HAT_LISTS_NOT_NEWLINE   (RE_DOT_NOT_NULL << 1)
 
#define RE_INTERVALS   (RE_HAT_LISTS_NOT_NEWLINE << 1)
 
#define RE_LIMITED_OPS   (RE_INTERVALS << 1)
 
#define RE_NEWLINE_ALT   (RE_LIMITED_OPS << 1)
 
#define RE_NO_BK_BRACES   (RE_NEWLINE_ALT << 1)
 
#define RE_NO_BK_PARENS   (RE_NO_BK_BRACES << 1)
 
#define RE_NO_BK_REFS   (RE_NO_BK_PARENS << 1)
 
#define RE_NO_BK_VBAR   (RE_NO_BK_REFS << 1)
 
#define RE_NO_EMPTY_RANGES   (RE_NO_BK_VBAR << 1)
 
#define RE_UNMATCHED_RIGHT_PAREN_ORD   (RE_NO_EMPTY_RANGES << 1)
 
#define RE_NO_POSIX_BACKTRACKING   (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)
 
#define RE_NO_GNU_OPS   (RE_NO_POSIX_BACKTRACKING << 1)
 
#define RE_DEBUG   (RE_NO_GNU_OPS << 1)
 
#define RE_INVALID_INTERVAL_ORD   (RE_DEBUG << 1)
 
#define RE_ICASE   (RE_INVALID_INTERVAL_ORD << 1)
 
#define RE_CARET_ANCHORS_HERE   (RE_ICASE << 1)
 
#define RE_CONTEXT_INVALID_DUP   (RE_CARET_ANCHORS_HERE << 1)
 
#define RE_NO_SUB   (RE_CONTEXT_INVALID_DUP << 1)
 
#define RE_SYNTAX_EMACS   0
 
#define RE_SYNTAX_AWK
 
#define RE_SYNTAX_GNU_AWK
 
#define RE_SYNTAX_POSIX_AWK
 
#define RE_SYNTAX_GREP
 
#define RE_SYNTAX_EGREP
 
#define RE_SYNTAX_POSIX_EGREP
 
#define RE_SYNTAX_ED   RE_SYNTAX_POSIX_BASIC
 
#define RE_SYNTAX_SED   RE_SYNTAX_POSIX_BASIC
 
#define _RE_SYNTAX_POSIX_COMMON
 
#define RE_SYNTAX_POSIX_BASIC    (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM | RE_CONTEXT_INVALID_DUP)
 
#define RE_SYNTAX_POSIX_MINIMAL_BASIC    (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
 
#define RE_SYNTAX_POSIX_EXTENDED
 
#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED
 
#define RE_DUP_MAX   (0x7fff)
 
#define REG_EXTENDED   1
 
#define REG_ICASE   (REG_EXTENDED << 1)
 
#define REG_NEWLINE   (REG_ICASE << 1)
 
#define REG_NOSUB   (REG_NEWLINE << 1)
 
#define REG_NOTBOL   1
 
#define REG_NOTEOL   (1 << 1)
 
#define REG_STARTEND   (1 << 2)
 
#define RE_TRANSLATE_TYPE   unsigned char *
 
#define REGS_UNALLOCATED   0
 
#define REGS_REALLOCATE   1
 
#define REGS_FIXED   2
 
#define RE_NREGS   30
 
#define __restrict
 
#define __restrict_arr
 

Typedefs

typedef long int s_reg_t
 
typedef unsigned long int active_reg_t
 
typedef unsigned long int reg_syntax_t
 
typedef struct re_pattern_buffer regex_t
 
typedef int regoff_t
 

Enumerations

enum  reg_errcode_t {
  REG_NOERROR = 0 , REG_NOMATCH , REG_BADPAT , REG_ECOLLATE ,
  REG_ECTYPE , REG_EESCAPE , REG_ESUBREG , REG_EBRACK ,
  REG_EPAREN , REG_EBRACE , REG_BADBR , REG_ERANGE ,
  REG_ESPACE , REG_BADRPT , REG_EEND , REG_ESIZE ,
  REG_ERPAREN , REG_NOERROR = 0 , REG_NOMATCH , REG_BADPAT ,
  REG_ECOLLATE , REG_ECTYPE , REG_EESCAPE , REG_ESUBREG ,
  REG_EBRACK , REG_EPAREN , REG_EBRACE , REG_BADBR ,
  REG_ERANGE , REG_ESPACE , REG_BADRPT , REG_EEND ,
  REG_ESIZE , REG_ERPAREN
}
 

Functions

reg_syntax_t re_set_syntax (reg_syntax_t __syntax)
 
const char * re_compile_pattern (const char *__pattern, size_t __length, struct re_pattern_buffer *__buffer)
 
int re_compile_fastmap (struct re_pattern_buffer *__buffer)
 
int re_search (struct re_pattern_buffer *__buffer, const char *__string, int __length, int __start, int __range, struct re_registers *__regs)
 
int re_search_2 (struct re_pattern_buffer *__buffer, const char *__string1, int __length1, const char *__string2, int __length2, int __start, int __range, struct re_registers *__regs, int __stop)
 
int re_match (struct re_pattern_buffer *__buffer, const char *__string, int __length, int __start, struct re_registers *__regs)
 
int re_match_2 (struct re_pattern_buffer *__buffer, const char *__string1, int __length1, const char *__string2, int __length2, int __start, struct re_registers *__regs, int __stop)
 
void re_set_registers (struct re_pattern_buffer *__buffer, struct re_registers *__regs, unsigned int __num_regs, regoff_t *__starts, regoff_t *__ends)
 
int regcomp (regex_t *__preg, const char *__pattern, int __cflags)
 
int regexec (const regex_t *__preg, const char *__string, size_t __nmatch, regmatch_t __pmatch[], int __eflags)
 
size_t regerror (int __errcode, const regex_t *__preg, char *__errbuf, size_t __errbuf_size)
 
void regfree (regex_t *__preg)
 

Variables

reg_syntax_t re_syntax_options
 

Macro Definition Documentation

◆ __restrict

#define __restrict

Definition at line 522 of file regex.h.

◆ __restrict_arr

#define __restrict_arr

Definition at line 532 of file regex.h.

◆ _RE_SYNTAX_POSIX_COMMON

#define _RE_SYNTAX_POSIX_COMMON
Value:
#define RE_DOT_NOT_NULL
Definition: regex.h:93
#define RE_INTERVALS
Definition: regex.h:102
#define RE_DOT_NEWLINE
Definition: regex.h:89
#define RE_CHAR_CLASSES
Definition: regex.h:59
#define RE_NO_EMPTY_RANGES
Definition: regex.h:133

Definition at line 226 of file regex.h.

◆ RE_BACKSLASH_ESCAPE_IN_LISTS

#define RE_BACKSLASH_ESCAPE_IN_LISTS   ((unsigned long int) 1)

Definition at line 48 of file regex.h.

◆ RE_BK_PLUS_QM

#define RE_BK_PLUS_QM   (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)

Definition at line 53 of file regex.h.

◆ RE_CARET_ANCHORS_HERE

#define RE_CARET_ANCHORS_HERE   (RE_ICASE << 1)

Definition at line 167 of file regex.h.

◆ RE_CHAR_CLASSES

#define RE_CHAR_CLASSES   (RE_BK_PLUS_QM << 1)

Definition at line 59 of file regex.h.

◆ RE_CONTEXT_INDEP_ANCHORS

#define RE_CONTEXT_INDEP_ANCHORS   (RE_CHAR_CLASSES << 1)

Definition at line 73 of file regex.h.

◆ RE_CONTEXT_INDEP_OPS

#define RE_CONTEXT_INDEP_OPS   (RE_CONTEXT_INDEP_ANCHORS << 1)

Definition at line 81 of file regex.h.

◆ RE_CONTEXT_INVALID_DUP

#define RE_CONTEXT_INVALID_DUP   (RE_CARET_ANCHORS_HERE << 1)

Definition at line 171 of file regex.h.

◆ RE_CONTEXT_INVALID_OPS

#define RE_CONTEXT_INVALID_OPS   (RE_CONTEXT_INDEP_OPS << 1)

Definition at line 85 of file regex.h.

◆ RE_DEBUG

#define RE_DEBUG   (RE_NO_GNU_OPS << 1)

Definition at line 153 of file regex.h.

◆ RE_DOT_NEWLINE

#define RE_DOT_NEWLINE   (RE_CONTEXT_INVALID_OPS << 1)

Definition at line 89 of file regex.h.

◆ RE_DOT_NOT_NULL

#define RE_DOT_NOT_NULL   (RE_DOT_NEWLINE << 1)

Definition at line 93 of file regex.h.

◆ RE_DUP_MAX

#define RE_DUP_MAX   (0x7fff)

Definition at line 261 of file regex.h.

◆ RE_HAT_LISTS_NOT_NEWLINE

#define RE_HAT_LISTS_NOT_NEWLINE   (RE_DOT_NOT_NULL << 1)

Definition at line 97 of file regex.h.

◆ RE_ICASE

#define RE_ICASE   (RE_INVALID_INTERVAL_ORD << 1)

Definition at line 162 of file regex.h.

◆ RE_INTERVALS

#define RE_INTERVALS   (RE_HAT_LISTS_NOT_NEWLINE << 1)

Definition at line 102 of file regex.h.

◆ RE_INVALID_INTERVAL_ORD

#define RE_INVALID_INTERVAL_ORD   (RE_DEBUG << 1)

Definition at line 158 of file regex.h.

◆ RE_LIMITED_OPS

#define RE_LIMITED_OPS   (RE_INTERVALS << 1)

Definition at line 106 of file regex.h.

◆ RE_NEWLINE_ALT

#define RE_NEWLINE_ALT   (RE_LIMITED_OPS << 1)

Definition at line 110 of file regex.h.

◆ RE_NO_BK_BRACES

#define RE_NO_BK_BRACES   (RE_NEWLINE_ALT << 1)

Definition at line 115 of file regex.h.

◆ RE_NO_BK_PARENS

#define RE_NO_BK_PARENS   (RE_NO_BK_BRACES << 1)

Definition at line 119 of file regex.h.

◆ RE_NO_BK_REFS

#define RE_NO_BK_REFS   (RE_NO_BK_PARENS << 1)

Definition at line 123 of file regex.h.

◆ RE_NO_BK_VBAR

#define RE_NO_BK_VBAR   (RE_NO_BK_REFS << 1)

Definition at line 127 of file regex.h.

◆ RE_NO_EMPTY_RANGES

#define RE_NO_EMPTY_RANGES   (RE_NO_BK_VBAR << 1)

Definition at line 133 of file regex.h.

◆ RE_NO_GNU_OPS

#define RE_NO_GNU_OPS   (RE_NO_POSIX_BACKTRACKING << 1)

Definition at line 145 of file regex.h.

◆ RE_NO_POSIX_BACKTRACKING

#define RE_NO_POSIX_BACKTRACKING   (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)

Definition at line 141 of file regex.h.

◆ RE_NO_SUB

#define RE_NO_SUB   (RE_CONTEXT_INVALID_DUP << 1)

Definition at line 175 of file regex.h.

◆ RE_NREGS

#define RE_NREGS   30

Definition at line 427 of file regex.h.

◆ RE_SYNTAX_AWK

#define RE_SYNTAX_AWK
Value:
#define RE_BACKSLASH_ESCAPE_IN_LISTS
Definition: regex.h:48
#define RE_CONTEXT_INDEP_ANCHORS
Definition: regex.h:73
#define RE_NO_BK_VBAR
Definition: regex.h:127
#define RE_NO_BK_REFS
Definition: regex.h:123
#define RE_UNMATCHED_RIGHT_PAREN_ORD
Definition: regex.h:137
#define RE_NO_BK_PARENS
Definition: regex.h:119
#define RE_NO_GNU_OPS
Definition: regex.h:145

Definition at line 189 of file regex.h.

◆ RE_SYNTAX_ED

#define RE_SYNTAX_ED   RE_SYNTAX_POSIX_BASIC

Definition at line 221 of file regex.h.

◆ RE_SYNTAX_EGREP

#define RE_SYNTAX_EGREP
Value:
#define RE_NEWLINE_ALT
Definition: regex.h:110
#define RE_CONTEXT_INDEP_OPS
Definition: regex.h:81
#define RE_HAT_LISTS_NOT_NEWLINE
Definition: regex.h:97

Definition at line 210 of file regex.h.

◆ RE_SYNTAX_EMACS

#define RE_SYNTAX_EMACS   0

Definition at line 187 of file regex.h.

◆ RE_SYNTAX_GNU_AWK

#define RE_SYNTAX_GNU_AWK
Value:
#define RE_SYNTAX_POSIX_EXTENDED
Definition: regex.h:239
#define RE_DEBUG
Definition: regex.h:153
#define RE_CONTEXT_INVALID_OPS
Definition: regex.h:85

Definition at line 196 of file regex.h.

◆ RE_SYNTAX_GREP

#define RE_SYNTAX_GREP
Value:

Definition at line 205 of file regex.h.

◆ RE_SYNTAX_POSIX_AWK

#define RE_SYNTAX_POSIX_AWK

◆ RE_SYNTAX_POSIX_BASIC

Definition at line 230 of file regex.h.

◆ RE_SYNTAX_POSIX_EGREP

#define RE_SYNTAX_POSIX_EGREP
Value:
#define RE_SYNTAX_EGREP
Definition: regex.h:210
#define RE_NO_BK_BRACES
Definition: regex.h:115
#define RE_INVALID_INTERVAL_ORD
Definition: regex.h:158

Definition at line 216 of file regex.h.

◆ RE_SYNTAX_POSIX_EXTENDED

◆ RE_SYNTAX_POSIX_MINIMAL_BASIC

#define RE_SYNTAX_POSIX_MINIMAL_BASIC    (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)

Definition at line 236 of file regex.h.

◆ RE_SYNTAX_POSIX_MINIMAL_EXTENDED

◆ RE_SYNTAX_SED

#define RE_SYNTAX_SED   RE_SYNTAX_POSIX_BASIC

Definition at line 223 of file regex.h.

◆ RE_TRANSLATE_TYPE

#define RE_TRANSLATE_TYPE   unsigned char *

Definition at line 340 of file regex.h.

◆ RE_UNMATCHED_RIGHT_PAREN_ORD

#define RE_UNMATCHED_RIGHT_PAREN_ORD   (RE_NO_EMPTY_RANGES << 1)

Definition at line 137 of file regex.h.

◆ REG_EXTENDED

#define REG_EXTENDED   1

Definition at line 268 of file regex.h.

◆ REG_ICASE

#define REG_ICASE   (REG_EXTENDED << 1)

Definition at line 272 of file regex.h.

◆ REG_NEWLINE

#define REG_NEWLINE   (REG_ICASE << 1)

Definition at line 277 of file regex.h.

◆ REG_NOSUB

#define REG_NOSUB   (REG_NEWLINE << 1)

Definition at line 281 of file regex.h.

◆ REG_NOTBOL

#define REG_NOTBOL   1

Definition at line 291 of file regex.h.

◆ REG_NOTEOL

#define REG_NOTEOL   (1 << 1)

Definition at line 294 of file regex.h.

◆ REG_STARTEND

#define REG_STARTEND   (1 << 2)

Definition at line 298 of file regex.h.

◆ REGS_FIXED

#define REGS_FIXED   2

Definition at line 385 of file regex.h.

◆ REGS_REALLOCATE

#define REGS_REALLOCATE   1

Definition at line 384 of file regex.h.

◆ REGS_UNALLOCATED

#define REGS_UNALLOCATED   0

Definition at line 383 of file regex.h.

Typedef Documentation

◆ active_reg_t

typedef unsigned long int active_reg_t

Definition at line 37 of file regex.h.

◆ reg_syntax_t

typedef unsigned long int reg_syntax_t

Definition at line 44 of file regex.h.

◆ regex_t

typedef struct re_pattern_buffer regex_t

Definition at line 181 of file regex.h.

◆ regoff_t

typedef int regoff_t

Definition at line 410 of file regex.h.

◆ s_reg_t

typedef long int s_reg_t

Definition at line 36 of file regex.h.

Enumeration Type Documentation

◆ reg_errcode_t

Enumerator
REG_NOERROR 
REG_NOMATCH 
REG_BADPAT 
REG_ECOLLATE 
REG_ECTYPE 
REG_EESCAPE 
REG_ESUBREG 
REG_EBRACK 
REG_EPAREN 
REG_EBRACE 
REG_BADBR 
REG_ERANGE 
REG_ESPACE 
REG_BADRPT 
REG_EEND 
REG_ESIZE 
REG_ERPAREN 
REG_NOERROR 
REG_NOMATCH 
REG_BADPAT 
REG_ECOLLATE 
REG_ECTYPE 
REG_EESCAPE 
REG_ESUBREG 
REG_EBRACK 
REG_EPAREN 
REG_EBRACE 
REG_BADBR 
REG_ERANGE 
REG_ESPACE 
REG_BADRPT 
REG_EEND 
REG_ESIZE 
REG_ERPAREN 

Definition at line 303 of file regex.h.

Function Documentation

◆ re_compile_fastmap()

◆ re_compile_pattern()

const char* re_compile_pattern ( const char *  __pattern,
size_t  __length,
struct re_pattern_buffer __buffer 
)

◆ re_match()

int re_match ( struct re_pattern_buffer __buffer,
const char *  __string,
int  __length,
int  __start,
struct re_registers __regs 
)

◆ re_match_2()

int re_match_2 ( struct re_pattern_buffer __buffer,
const char *  __string1,
int  __length1,
const char *  __string2,
int  __length2,
int  __start,
struct re_registers __regs,
int  __stop 
)

◆ re_search()

int re_search ( struct re_pattern_buffer __buffer,
const char *  __string,
int  __length,
int  __start,
int  __range,
struct re_registers __regs 
)

Definition at line 315 of file regexec.c.

References length, NULL, range, re_search_2(), re_search_stub(), regs, size, and start.

Referenced by regnexec().

◆ re_search_2()

int re_search_2 ( struct re_pattern_buffer __buffer,
const char *  __string1,
int  __length1,
const char *  __string2,
int  __length2,
int  __start,
int  __range,
struct re_registers __regs,
int  __stop 
)

◆ re_set_registers()

void re_set_registers ( struct re_pattern_buffer __buffer,
struct re_registers __regs,
unsigned int  __num_regs,
regoff_t __starts,
regoff_t __ends 
)

◆ re_set_syntax()

reg_syntax_t re_set_syntax ( reg_syntax_t  __syntax)

Definition at line 253 of file regcomp.c.

References debug, RE_DEBUG, re_syntax_options, ret, and syntax.

◆ regcomp()

◆ regerror()

size_t regerror ( int  __errcode,
const regex_t __preg,
char *  __errbuf,
size_t  __errbuf_size 
)

Definition at line 5768 of file regex.c.

References __mempcpy, abort(), errbuf, gettext, memcpy, msg, re_error_msgid, and strlen().

◆ regexec()

int regexec ( const regex_t __preg,
const char *  __string,
size_t  __nmatch,
regmatch_t  __pmatch[],
int  __eflags 
)

◆ regfree()

Variable Documentation

◆ re_syntax_options

reg_syntax_t re_syntax_options
extern

Definition at line 242 of file regcomp.c.