| .TH PCRE_ASSIGN_JIT_STACK 3 |
| .SH NAME |
| PCRE - Perl-compatible regular expressions |
| .SH SYNOPSIS |
| .rs |
| .sp |
| .B #include <pcre.h> |
| .PP |
| .SM |
| .B void pcre_assign_jit_stack(pcre_extra *\fIextra\fP, |
| .ti +5n |
| .B pcre_jit_callback \fIcallback\fP, void *\fIdata\fP); |
| . |
| .SH DESCRIPTION |
| .rs |
| .sp |
| This function provides control over the memory used as a stack at runtime by a |
| call to \fBpcre_exec()\fP with a pattern that has been successfully compiled |
| with JIT optimization. The arguments are: |
| .sp |
| extra the data pointer returned by \fBpcre_study()\fP |
| callback a callback function |
| data a JIT stack or a value to be passed to the callback |
| function |
| .P |
| If \fIcallback\fP is NULL and \fIdata\fP is NULL, an internal 32K block on |
| the machine stack is used. |
| .P |
| If \fIcallback\fP is NULL and \fIdata\fP is not NULL, \fIdata\fP must |
| be a valid JIT stack, the result of calling \fBpcre_jit_stack_alloc()\fP. |
| .P |
| If \fIcallback\fP not NULL, it is called with \fIdata\fP as an argument at |
| the start of matching, in order to set up a JIT stack. If the result is NULL, |
| the internal 32K stack is used; otherwise the return value must be a valid JIT |
| stack, the result of calling \fBpcre_jit_stack_alloc()\fP. |
| .P |
| You may safely assign the same JIT stack to multiple patterns, as long as they |
| are all matched in the same thread. In a multithread application, each thread |
| must use its own JIT stack. For more details, see the |
| .\" HREF |
| \fBpcrejit\fP |
| .\" |
| page. |
| .P |
| There is a complete description of the PCRE native API in the |
| .\" HREF |
| \fBpcreapi\fP |
| .\" |
| page and a description of the POSIX API in the |
| .\" HREF |
| \fBpcreposix\fP |
| .\" |
| page. |