62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH PCRE_ASSIGN_JIT_STACK 3 "24 June 2012" "PCRE 8.30"
 | |
| .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);
 | |
| .PP
 | |
| .B void pcre16_assign_jit_stack(pcre16_extra *\fIextra\fP,
 | |
| .ti +5n
 | |
| .B pcre16_jit_callback \fIcallback\fP, void *\fIdata\fP);
 | |
| .PP
 | |
| .B void pcre32_assign_jit_stack(pcre32_extra *\fIextra\fP,
 | |
| .ti +5n
 | |
| .B pcre32_jit_callback \fIcallback\fP, void *\fIdata\fP);
 | |
| .
 | |
| .SH DESCRIPTION
 | |
| .rs
 | |
| .sp
 | |
| This function provides control over the memory used as a stack at run-time by a
 | |
| call to \fBpcre[16|32]_exec()\fP with a pattern that has been successfully
 | |
| compiled with JIT optimization. The arguments are:
 | |
| .sp
 | |
|   extra     the data pointer returned by \fBpcre[16|32]_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[16|32]_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[16|32]_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.
 |