Annotation of embedaddon/pcre/doc/pcre_assign_jit_stack.3, revision 1.1.1.5
1.1.1.4 misho 1: .TH PCRE_ASSIGN_JIT_STACK 3 "24 June 2012" "PCRE 8.30"
1.1 misho 2: .SH NAME
3: PCRE - Perl-compatible regular expressions
4: .SH SYNOPSIS
5: .rs
6: .sp
7: .B #include <pcre.h>
8: .PP
1.1.1.5 ! misho 9: .nf
1.1 misho 10: .B void pcre_assign_jit_stack(pcre_extra *\fIextra\fP,
1.1.1.5 ! misho 11: .B " pcre_jit_callback \fIcallback\fP, void *\fIdata\fP);"
! 12: .sp
1.1.1.2 misho 13: .B void pcre16_assign_jit_stack(pcre16_extra *\fIextra\fP,
1.1.1.5 ! misho 14: .B " pcre16_jit_callback \fIcallback\fP, void *\fIdata\fP);"
! 15: .sp
1.1.1.4 misho 16: .B void pcre32_assign_jit_stack(pcre32_extra *\fIextra\fP,
1.1.1.5 ! misho 17: .B " pcre32_jit_callback \fIcallback\fP, void *\fIdata\fP);"
! 18: .fi
1.1 misho 19: .
20: .SH DESCRIPTION
21: .rs
22: .sp
1.1.1.3 misho 23: This function provides control over the memory used as a stack at run-time by a
1.1.1.4 misho 24: call to \fBpcre[16|32]_exec()\fP with a pattern that has been successfully
1.1.1.2 misho 25: compiled with JIT optimization. The arguments are:
1.1 misho 26: .sp
1.1.1.4 misho 27: extra the data pointer returned by \fBpcre[16|32]_study()\fP
1.1 misho 28: callback a callback function
29: data a JIT stack or a value to be passed to the callback
30: function
31: .P
32: If \fIcallback\fP is NULL and \fIdata\fP is NULL, an internal 32K block on
33: the machine stack is used.
34: .P
35: If \fIcallback\fP is NULL and \fIdata\fP is not NULL, \fIdata\fP must
1.1.1.4 misho 36: be a valid JIT stack, the result of calling \fBpcre[16|32]_jit_stack_alloc()\fP.
1.1 misho 37: .P
38: If \fIcallback\fP not NULL, it is called with \fIdata\fP as an argument at
39: the start of matching, in order to set up a JIT stack. If the result is NULL,
40: the internal 32K stack is used; otherwise the return value must be a valid JIT
1.1.1.4 misho 41: stack, the result of calling \fBpcre[16|32]_jit_stack_alloc()\fP.
1.1 misho 42: .P
43: You may safely assign the same JIT stack to multiple patterns, as long as they
44: are all matched in the same thread. In a multithread application, each thread
45: must use its own JIT stack. For more details, see the
46: .\" HREF
47: \fBpcrejit\fP
48: .\"
49: page.
50: .P
51: There is a complete description of the PCRE native API in the
52: .\" HREF
53: \fBpcreapi\fP
54: .\"
55: page and a description of the POSIX API in the
56: .\" HREF
57: \fBpcreposix\fP
58: .\"
59: page.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>