pcre2_callout_enumerate(3) — Linux manual page


PCRE2_COMPILE(3)        Library Functions Manual        PCRE2_COMPILE(3)

NAME         top

       PCRE2 - Perl-compatible regular expressions (revised API)

SYNOPSIS         top

       #include <pcre2.h>

       int pcre2_callout_enumerate(const pcre2_code *code,
         int (*callback)(pcre2_callout_enumerate_block *, void *),
         void *callout_data);

DESCRIPTION         top

       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
         PCRE2_SIZE next_item_length       Length of next item in
         PCRE2_SIZE callout_string_offset  Offset to string within
         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         top

       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 2023-12-22.  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

PCRE2 10.30                   23 March 2017             PCRE2_COMPILE(3)