| .TH PCRE2_COMPILE 3 "23 March 2017" "PCRE2 10.30" |
| .SH NAME |
| PCRE2 - Perl-compatible regular expressions (revised API) |
| .SH SYNOPSIS |
| .rs |
| .sp |
| .B #include <pcre2.h> |
| .PP |
| .nf |
| .B int pcre2_callout_enumerate(const pcre2_code *\fIcode\fP, |
| .B " int (*\fIcallback\fP)(pcre2_callout_enumerate_block *, void *)," |
| .B " void *\fIcallout_data\fP);" |
| .fi |
| . |
| .SH DESCRIPTION |
| .rs |
| .sp |
| This function scans a compiled regular expression and calls the \fIcallback()\fP |
| function for each callout within the pattern. The yield of the function is zero |
| for success and non-zero otherwise. The arguments are: |
| .sp |
| \fIcode\fP Points to the compiled pattern |
| \fIcallback\fP The callback function |
| \fIcallout_data\fP User data that is passed to the callback |
| .sp |
| The \fIcallback()\fP function is passed a pointer to a data block containing |
| the following fields (not necessarily in this order): |
| .sp |
| uint32_t \fIversion\fP Block version number |
| uint32_t \fIcallout_number\fP Number for numbered callouts |
| PCRE2_SIZE \fIpattern_position\fP Offset to next item in pattern |
| PCRE2_SIZE \fInext_item_length\fP Length of next item in pattern |
| PCRE2_SIZE \fIcallout_string_offset\fP Offset to string within pattern |
| PCRE2_SIZE \fIcallout_string_length\fP Length of callout string |
| PCRE2_SPTR \fIcallout_string\fP Points to callout string or is NULL |
| .sp |
| The second argument passed to the \fBcallback()\fP function is the callout data |
| that was passed to \fBpcre2_callout_enumerate()\fP. The \fBcallback()\fP |
| function must return zero for success. Any other value causes the pattern scan |
| to stop, with the value being passed back as the result of |
| \fBpcre2_callout_enumerate()\fP. |
| .P |
| There is a complete description of the PCRE2 native API in the |
| .\" HREF |
| \fBpcre2api\fP |
| .\" |
| page and a description of the POSIX API in the |
| .\" HREF |
| \fBpcre2posix\fP |
| .\" |
| page. |