93 |
only argument to the callout function is a pointer to a <b>pcre_callout</b> |
only argument to the callout function is a pointer to a <b>pcre_callout</b> |
94 |
block. This structure contains the following fields: |
block. This structure contains the following fields: |
95 |
<pre> |
<pre> |
96 |
int <i>version</i>; |
int <i>version</i>; |
97 |
int <i>callout_number</i>; |
int <i>callout_number</i>; |
98 |
int *<i>offset_vector</i>; |
int *<i>offset_vector</i>; |
99 |
const char *<i>subject</i>; |
const char *<i>subject</i>; |
100 |
int <i>subject_length</i>; |
int <i>subject_length</i>; |
101 |
int <i>start_match</i>; |
int <i>start_match</i>; |
102 |
int <i>current_position</i>; |
int <i>current_position</i>; |
103 |
int <i>capture_top</i>; |
int <i>capture_top</i>; |
104 |
int <i>capture_last</i>; |
int <i>capture_last</i>; |
105 |
void *<i>callout_data</i>; |
void *<i>callout_data</i>; |
106 |
int <i>pattern_position</i>; |
int <i>pattern_position</i>; |
107 |
int <i>next_item_length</i>; |
int <i>next_item_length</i>; |
108 |
|
const unsigned char *<i>mark</i>; |
109 |
</pre> |
</pre> |
110 |
The <i>version</i> field is an integer containing the version number of the |
The <i>version</i> field is an integer containing the version number of the |
111 |
block format. The initial version was 0; the current version is 1. The version |
block format. The initial version was 0; the current version is 2. The version |
112 |
number will change again in future if additional fields are added, but the |
number will change again in future if additional fields are added, but the |
113 |
intention is never to remove any of the existing fields. |
intention is never to remove any of the existing fields. |
114 |
</P> |
</P> |
181 |
help in distinguishing between different automatic callouts, which all have the |
help in distinguishing between different automatic callouts, which all have the |
182 |
same callout number. However, they are set for all callouts. |
same callout number. However, they are set for all callouts. |
183 |
</P> |
</P> |
184 |
|
<P> |
185 |
|
The <i>mark</i> field is present from version 2 of the <i>pcre_callout</i> |
186 |
|
structure. In callouts from <b>pcre_exec()</b> it contains a pointer to the |
187 |
|
zero-terminated name of the most recently passed (*MARK) item in the match, or |
188 |
|
NULL if there are no (*MARK)s in the current matching path. In callouts from |
189 |
|
<b>pcre_dfa_exec()</b> this field always contains NULL. |
190 |
|
</P> |
191 |
<br><a name="SEC4" href="#TOC1">RETURN VALUES</a><br> |
<br><a name="SEC4" href="#TOC1">RETURN VALUES</a><br> |
192 |
<P> |
<P> |
193 |
The external callout function returns an integer to PCRE. If the value is zero, |
The external callout function returns an integer to PCRE. If the value is zero, |
214 |
</P> |
</P> |
215 |
<br><a name="SEC6" href="#TOC1">REVISION</a><br> |
<br><a name="SEC6" href="#TOC1">REVISION</a><br> |
216 |
<P> |
<P> |
217 |
Last updated: 21 November 2010 |
Last updated: 31 July 2011 |
218 |
<br> |
<br> |
219 |
Copyright © 1997-2010 University of Cambridge. |
Copyright © 1997-2011 University of Cambridge. |
220 |
<br> |
<br> |
221 |
<p> |
<p> |
222 |
Return to the <a href="index.html">PCRE index page</a>. |
Return to the <a href="index.html">PCRE index page</a>. |