Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019

pcre2_callout_enumerate (3)


pcre2_callout_enumerate - compatible regular expressions (revised API)


#include <pcre2.h>

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


PCRE2_COMPILE(3)           Library Functions Manual           PCRE2_COMPILE(3)

       PCRE2 - Perl-compatible regular expressions (revised API)


       #include <pcre2.h>

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


       This  function  scans a compiled regular expression and calls the call-
       back() 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() func-
       tion must return zero for success. Any other value causes  the  pattern
       scan  to  stop,  with  the  value  being  passed  back as the result of

       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.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | library/pcre2    |
       |Stability      | Uncommitted      |
       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source  was  downloaded from  ftp://ftp.csx.cam.ac.uk/pub/software/pro-

       Further information about this software can be found on the open source
       community website at http://pcre.org/.

PCRE2 10.30                      23 March 2017                PCRE2_COMPILE(3)