pcre2_callout_enumerate
Name
pcre2_callout_enumerate - enumerate callouts in a compiled pattern
Synopsis
#include <pcre2.h>
int pcre2_callout_enumerate(
const pcre2_code *code,
int (*callback)(pcre2_callout_enumerate_block *callout_block,
void *callout_data),
void *callout_data);Description
This function scans a compiled regular expression and calls the callback()
function for each callout within the pattern. The yield of the function is zero
for success and non-zero otherwise. The arguments are:
codePoints to the compiled pattern
callbackThe callback function
callout_dataUser data that is passed to the callback
The callback() function is passed a pointer to a data block containing
the following fields (not necessarily in this order):
uint32_t version; /* Block version number */
uint32_t callout_number; /* Number for numbered callouts */
PCRE2_SIZE pattern_position; /* Offset to next item in pattern */
PCRE2_SIZE next_item_length; /* Length of next item in pattern */
PCRE2_SIZE callout_string_offset; /* Offset to string within pattern */
PCRE2_SIZE callout_string_length; /* Length of callout string */
PCRE2_SPTR callout_string; /* Points to callout string or is
NULL */The second argument passed to the callback() function is the callout data
that was passed to pcre2_callout_enumerate(). The callback()
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
pcre2_callout_enumerate().
There is a complete description of the PCRE2 native API in the
pcre2api
page and a description of the POSIX API in the
pcre2posix
page.