PCRE2_CONFIG(3)

πŸ’– NAME πŸ’–

okay bestie, welcome to PCRE2_CONFIG(3) from the Library Functions Manual β€” this is the page for PCRE2 β€” Perl-compatible regular expressions (revised API). πŸ’…βœ¨

✨ SYNOPSIS ✨

#include <pcre2.h>

int pcre2_config(uint32_t what, void *where);

πŸ¦‹ DESCRIPTION πŸ¦‹

This function lets a client program find out which optional features are available in the version of the PCRE2 library it’s using. The arguments are as follows:

  • what β€” a code specifying what information is required.
  • where β€” points to where to put the information.

If where is NULL, the function returns the amount of memory needed for the requested information. When the information is a string, the value is in code units; for other types of data it is in bytes. 🧚

If where is not NULL, then for PCRE2_CONFIG_JITTARGET, PCRE2_CONFIG_UNICODE_VERSION, and PCRE2_CONFIG_VERSION it must point to a buffer that is large enough to hold the string. For all other codes it must point to a uint32_t integer variable. The available codes are:

  • PCRE2_CONFIG_BSR β€” indicates what \R matches by default: PCRE2_BSR_UNICODE or PCRE2_BSR_ANYCRLF.
  • PCRE2_CONFIG_COMPILED_WIDTHS β€” which of 8/16/32 support was compiled.
  • PCRE2_CONFIG_DEPTHLIMIT β€” default backtracking depth limit.
  • PCRE2_CONFIG_EFFECTIVE_LINKSIZE β€” how many bytes are used for link size.
  • PCRE2_CONFIG_HEAPLIMIT β€” default heap memory limit.
  • PCRE2_CONFIG_JIT β€” availability of just-in-time compiler support (1=yes 0=no).
  • PCRE2_CONFIG_JITTARGET β€” information (a string) about the target architecture for the JIT compiler.
  • PCRE2_CONFIG_LINKSIZE β€” configured internal link size (2, 3, 4).
  • PCRE2_CONFIG_MATCHLIMIT β€” default internal resource limit.
  • PCRE2_CONFIG_NEVER_BACKSLASH_C β€” whether or not \C is disabled.
  • PCRE2_CONFIG_NEWLINE β€” code for the default newline sequence: PCRE2_NEWLINE_CR, PCRE2_NEWLINE_LF, PCRE2_NEWLINE_CRLF, PCRE2_NEWLINE_ANY, PCRE2_NEWLINE_ANYCRLF, PCRE2_NEWLINE_NUL.
  • PCRE2_CONFIG_PARENSLIMIT β€” default parentheses nesting limit.
  • PCRE2_CONFIG_RECURSIONLIMIT β€” obsolete: use PCRE2_CONFIG_DEPTHLIMIT.
  • PCRE2_CONFIG_STACKRECURSE β€” obsolete: always returns 0.
  • PCRE2_CONFIG_UNICODE β€” availability of Unicode support (1=yes 0=no).
  • PCRE2_CONFIG_UNICODE_VERSION β€” the Unicode version (a string).
  • PCRE2_CONFIG_VERSION β€” the PCRE2 version (a string).

The function yields a non-negative value on success or the negative value PCRE2_ERROR_BADOPTION otherwise. This is also the result for the PCRE2_CONFIG_JITTARGET code if JIT support is not available. When a string is requested, the function returns the number of code units used, including the terminating zero. πŸ“

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.


✨ your fave PCRE2_CONFIG(3) page is serving source/version PCRE2 10.47, dated 03 September 2025 β€” mwah, bestie πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from