1 |
<html>
|
2 |
<head>
|
3 |
<title>pcre_assign_jit_stack specification</title>
|
4 |
</head>
|
5 |
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
|
6 |
<h1>pcre_assign_jit_stack man page</h1>
|
7 |
<p>
|
8 |
Return to the <a href="index.html">PCRE index page</a>.
|
9 |
</p>
|
10 |
<p>
|
11 |
This page is part of the PCRE HTML documentation. It was generated automatically
|
12 |
from the original man page. If there is any nonsense in it, please consult the
|
13 |
man page, in case the conversion went wrong.
|
14 |
<br>
|
15 |
<br><b>
|
16 |
SYNOPSIS
|
17 |
</b><br>
|
18 |
<P>
|
19 |
<b>#include <pcre.h></b>
|
20 |
</P>
|
21 |
<P>
|
22 |
<b>void pcre_assign_jit_stack(pcre_extra *<i>extra</i>,</b>
|
23 |
<b> pcre_jit_callback <i>callback</i>, void *<i>data</i>);</b>
|
24 |
<br>
|
25 |
<br>
|
26 |
<b>void pcre16_assign_jit_stack(pcre16_extra *<i>extra</i>,</b>
|
27 |
<b> pcre16_jit_callback <i>callback</i>, void *<i>data</i>);</b>
|
28 |
<br>
|
29 |
<br>
|
30 |
<b>void pcre32_assign_jit_stack(pcre32_extra *<i>extra</i>,</b>
|
31 |
<b> pcre32_jit_callback <i>callback</i>, void *<i>data</i>);</b>
|
32 |
</P>
|
33 |
<br><b>
|
34 |
DESCRIPTION
|
35 |
</b><br>
|
36 |
<P>
|
37 |
This function provides control over the memory used as a stack at run-time by a
|
38 |
call to <b>pcre[16|32]_exec()</b> with a pattern that has been successfully
|
39 |
compiled with JIT optimization. The arguments are:
|
40 |
<pre>
|
41 |
extra the data pointer returned by <b>pcre[16|32]_study()</b>
|
42 |
callback a callback function
|
43 |
data a JIT stack or a value to be passed to the callback
|
44 |
function
|
45 |
</PRE>
|
46 |
</P>
|
47 |
<P>
|
48 |
If <i>callback</i> is NULL and <i>data</i> is NULL, an internal 32K block on
|
49 |
the machine stack is used.
|
50 |
</P>
|
51 |
<P>
|
52 |
If <i>callback</i> is NULL and <i>data</i> is not NULL, <i>data</i> must
|
53 |
be a valid JIT stack, the result of calling <b>pcre[16|32]_jit_stack_alloc()</b>.
|
54 |
</P>
|
55 |
<P>
|
56 |
If <i>callback</i> not NULL, it is called with <i>data</i> as an argument at
|
57 |
the start of matching, in order to set up a JIT stack. If the result is NULL,
|
58 |
the internal 32K stack is used; otherwise the return value must be a valid JIT
|
59 |
stack, the result of calling <b>pcre[16|32]_jit_stack_alloc()</b>.
|
60 |
</P>
|
61 |
<P>
|
62 |
You may safely assign the same JIT stack to multiple patterns, as long as they
|
63 |
are all matched in the same thread. In a multithread application, each thread
|
64 |
must use its own JIT stack. For more details, see the
|
65 |
<a href="pcrejit.html"><b>pcrejit</b></a>
|
66 |
page.
|
67 |
</P>
|
68 |
<P>
|
69 |
There is a complete description of the PCRE native API in the
|
70 |
<a href="pcreapi.html"><b>pcreapi</b></a>
|
71 |
page and a description of the POSIX API in the
|
72 |
<a href="pcreposix.html"><b>pcreposix</b></a>
|
73 |
page.
|
74 |
<p>
|
75 |
Return to the <a href="index.html">PCRE index page</a>.
|
76 |
</p>
|