| 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 |
</P>
|
| 25 |
<P>
|
| 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 |
</P>
|
| 29 |
<br><b>
|
| 30 |
DESCRIPTION
|
| 31 |
</b><br>
|
| 32 |
<P>
|
| 33 |
This function provides control over the memory used as a stack at run-time by a
|
| 34 |
call to <b>pcre[16]_exec()</b> with a pattern that has been successfully
|
| 35 |
compiled with JIT optimization. The arguments are:
|
| 36 |
<pre>
|
| 37 |
extra the data pointer returned by <b>pcre[16]_study()</b>
|
| 38 |
callback a callback function
|
| 39 |
data a JIT stack or a value to be passed to the callback
|
| 40 |
function
|
| 41 |
</PRE>
|
| 42 |
</P>
|
| 43 |
<P>
|
| 44 |
If <i>callback</i> is NULL and <i>data</i> is NULL, an internal 32K block on
|
| 45 |
the machine stack is used.
|
| 46 |
</P>
|
| 47 |
<P>
|
| 48 |
If <i>callback</i> is NULL and <i>data</i> is not NULL, <i>data</i> must
|
| 49 |
be a valid JIT stack, the result of calling <b>pcre[16]_jit_stack_alloc()</b>.
|
| 50 |
</P>
|
| 51 |
<P>
|
| 52 |
If <i>callback</i> not NULL, it is called with <i>data</i> as an argument at
|
| 53 |
the start of matching, in order to set up a JIT stack. If the result is NULL,
|
| 54 |
the internal 32K stack is used; otherwise the return value must be a valid JIT
|
| 55 |
stack, the result of calling <b>pcre[16]_jit_stack_alloc()</b>.
|
| 56 |
</P>
|
| 57 |
<P>
|
| 58 |
You may safely assign the same JIT stack to multiple patterns, as long as they
|
| 59 |
are all matched in the same thread. In a multithread application, each thread
|
| 60 |
must use its own JIT stack. For more details, see the
|
| 61 |
<a href="pcrejit.html"><b>pcrejit</b></a>
|
| 62 |
page.
|
| 63 |
</P>
|
| 64 |
<P>
|
| 65 |
There is a complete description of the PCRE native API in the
|
| 66 |
<a href="pcreapi.html"><b>pcreapi</b></a>
|
| 67 |
page and a description of the POSIX API in the
|
| 68 |
<a href="pcreposix.html"><b>pcreposix</b></a>
|
| 69 |
page.
|
| 70 |
<p>
|
| 71 |
Return to the <a href="index.html">PCRE index page</a>.
|
| 72 |
</p>
|