pcre2_callout_enumerate(3) — Linux manual page
PCRE2_COMPILE(3) Library Functions Manual PCRE2_COMPILE(3)
NAME
PCRE2 - Perl-compatible regular expressions (revised API)
SYNOPSIS
#include <pcre2.h>
int pcre2_callout_enumerate(const pcre2_code *code,
int (*callback)(pcre2_callout_enumerate_block *, void *),
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:
code Points to the compiled pattern
callback The callback function
callout_data User 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.
COLOPHON
This page is part of the PCRE (Perl Compatible Regular
Expressions) project. Information about the project can be found
at ⟨http://www.pcre.org/⟩. If you have a bug report for this
manual page, see
⟨http://bugs.exim.org/enter_bug.cgi?product=PCRE⟩. This page was
obtained from the tarball fetched from
⟨https://github.com/PhilipHazel/pcre2.git⟩ on 2024-06-14. If you
discover any rendering problems in this HTML version of the page,
or you believe there is a better or more up-to-date source for
the page, or you have corrections or improvements to the
information in this COLOPHON (which is not part of the original
manual page), send a mail to man-pages@man7.org