Kannel: Open Source WAP and SMS gateway
svn-r5336
Main Page
+
Data Structures
Data Structures
Data Structure Index
+
Data Fields
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
w
x
y
+
Enumerations
a
b
c
d
e
h
i
k
l
m
o
p
r
s
t
v
w
y
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
+
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
gw-pcre.h
Go to the documentation of this file.
1
/* ====================================================================
2
* The Kannel Software License, Version 1.0
3
*
4
* Copyright (c) 2001-2018 Kannel Group
5
* Copyright (c) 1998-2001 WapIT Ltd.
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* 1. Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
*
15
* 2. Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in
17
* the documentation and/or other materials provided with the
18
* distribution.
19
*
20
* 3. The end-user documentation included with the redistribution,
21
* if any, must include the following acknowledgment:
22
* "This product includes software developed by the
23
* Kannel Group (http://www.kannel.org/)."
24
* Alternately, this acknowledgment may appear in the software itself,
25
* if and wherever such third-party acknowledgments normally appear.
26
*
27
* 4. The names "Kannel" and "Kannel Group" must not be used to
28
* endorse or promote products derived from this software without
29
* prior written permission. For written permission, please
30
* contact org@kannel.org.
31
*
32
* 5. Products derived from this software may not be called "Kannel",
33
* nor may "Kannel" appear in their name, without prior written
34
* permission of the Kannel Group.
35
*
36
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39
* DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
40
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
41
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
42
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
43
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
44
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
45
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
46
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
47
* ====================================================================
48
*
49
* This software consists of voluntary contributions made by many
50
* individuals on behalf of the Kannel Group. For more information on
51
* the Kannel Group, please see <http://www.kannel.org/>.
52
*
53
* Portions of this software are based upon software originally written at
54
* WapIT Ltd., Helsinki, Finland for the Kannel project.
55
*/
56
57
/*
58
* pcre.h - Perl compatible regular expressions (PCREs)
59
*
60
* This modules implements wrapper functions to the pcre_foobar() et all
61
* functions implemented in the libpcre.a library.
62
* PCRE is a library of functions to support regular expressions whose syntax
63
* and semantics are as close as possible to those of the Perl 5 language.
64
*
65
* See http://www.pcre.org/ for more details on PCRE regular expressions.
66
*
67
* Stipe Tolj <stolj@wapme.de>
68
*/
69
70
#ifndef PCRE_H
71
#define PCRE_H
72
73
#ifdef HAVE_PCRE
74
75
#include <pcre.h>
76
77
78
#define PCRE_OVECCOUNT 30
/* should be a multiple of 3 */
79
80
/*
81
* Compile a regular expression provided by pattern and return
82
* the regular expression type as function result.
83
* If the compilation fails, return NULL.
84
*/
85
pcre *gw_pcre_comp_real(
const
Octstr
*pattern,
int
cflags,
const
char
*
file
,
86
long
line,
const
char
*func);
87
#define gw_pcre_comp(pattern, cflags) \
88
gw_pcre_comp_real(pattern, cflags, __FILE__, __LINE__, __func__)
89
90
91
/*
92
* Execute a previously compile regular expression on a given
93
* string and provide the matches via nmatch and pmatch[].
94
*/
95
int
gw_pcre_exec_real(
const
pcre *preg,
const
Octstr
*
string
,
int
start
,
96
int
eflags,
int
*ovector,
int
oveccount,
97
const
char
*
file
,
long
line,
const
char
*func);
98
#define gw_pcre_exec(preg, string, start, eflags, ovector, oveccount) \
99
gw_pcre_exec_real(preg, string, start, eflags, ovector, oveccount, \
100
__FILE__, __LINE__, __func__)
101
102
103
/*
104
* Match directly a given regular expression and a source string. This assumes
105
* that the RE has not been pre-compiled and hence perform the compile and
106
* exec step in this matching step.
107
* Return 1 if the regular expression is successfully matching, 0 otherwise.
108
*/
109
int
gw_pcre_match_real(
const
Octstr
*re,
const
Octstr
*os,
const
char
*
file
,
110
long
line,
const
char
*func);
111
#define gw_pcre_match(re, os) \
112
gw_pcre_match_real(re, os, __FILE__, __LINE__, __func__)
113
114
115
/*
116
* Match directly a given source string against a previously pre-compiled
117
* regular expression.
118
* Return 1 if the regular expression is successfully matching, 0 otherwise.
119
*/
120
int
gw_pcre_match_pre_real(
const
pcre *preg,
const
Octstr
*os,
const
char
*
file
,
121
long
line,
const
char
*func);
122
#define gw_pcre_match_pre(preg, os) \
123
gw_pcre_match_pre_real(preg, os, __FILE__, __LINE__, __func__)
124
125
126
#endif
/* HAVE_PCRE */
127
#endif
/* PCRE_H */
128
129
file
FILE * file
Definition:
log.c:169
Octstr
Definition:
octstr.c:118
start
static int start
Definition:
start-stop-daemon.c:142
See file LICENSE for details about the license agreement for using, modifying, copying or deriving work from this software.