2015-01-23 17:51:47 +01:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>pcre2_serialize_encode specification</title>
|
|
|
|
</head>
|
|
|
|
<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
|
|
|
|
<h1>pcre2_serialize_encode man page</h1>
|
|
|
|
<p>
|
|
|
|
Return to the <a href="index.html">PCRE2 index page</a>.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
This page is part of the PCRE2 HTML documentation. It was generated
|
|
|
|
automatically from the original man page. If there is any nonsense in it,
|
|
|
|
please consult the man page, in case the conversion went wrong.
|
|
|
|
<br>
|
|
|
|
<br><b>
|
|
|
|
SYNOPSIS
|
|
|
|
</b><br>
|
|
|
|
<P>
|
|
|
|
<b>#include <pcre2.h></b>
|
|
|
|
</P>
|
|
|
|
<P>
|
2015-09-12 20:12:01 +02:00
|
|
|
<b>int32_t pcre2_serialize_encode(const pcre2_code **<i>codes</i>,</b>
|
|
|
|
<b> int32_t <i>number_of_codes</i>, uint8_t **<i>serialized_bytes</i>,</b>
|
2015-01-23 17:51:47 +01:00
|
|
|
<b> PCRE2_SIZE *<i>serialized_size</i>, pcre2_general_context *<i>gcontext</i>);</b>
|
|
|
|
</P>
|
|
|
|
<br><b>
|
|
|
|
DESCRIPTION
|
|
|
|
</b><br>
|
|
|
|
<P>
|
|
|
|
This function encodes a list of compiled patterns into a byte stream that can
|
2018-08-13 13:57:09 +02:00
|
|
|
be saved on disc or elsewhere. Note that this is not an abstract format like
|
2018-06-27 19:20:58 +02:00
|
|
|
Java or .NET. Conversion of the byte stream back into usable compiled patterns
|
|
|
|
can only happen on a host that is running the same version of PCRE2, with the
|
|
|
|
same code unit width, and the host must also have the same endianness, pointer
|
|
|
|
width and PCRE2_SIZE type. The arguments for <b>pcre2_serialize_encode()</b>
|
|
|
|
are:
|
2015-01-23 17:51:47 +01:00
|
|
|
<pre>
|
|
|
|
<i>codes</i> pointer to a vector containing the list
|
|
|
|
<i>number_of_codes</i> number of slots in the vector
|
|
|
|
<i>serialized_bytes</i> set to point to the serialized byte stream
|
|
|
|
<i>serialized_size</i> set to the number of bytes in the byte stream
|
|
|
|
<i>gcontext</i> pointer to a general context or NULL
|
|
|
|
</pre>
|
|
|
|
The context argument is used to obtain memory for the byte stream. When the
|
|
|
|
serialized data is no longer needed, it must be freed by calling
|
|
|
|
<b>pcre2_serialize_free()</b>. The yield of the function is the number of
|
|
|
|
serialized patterns, or one of the following negative error codes:
|
|
|
|
<pre>
|
|
|
|
PCRE2_ERROR_BADDATA <i>number_of_codes</i> is zero or less
|
|
|
|
PCRE2_ERROR_BADMAGIC mismatch of id bytes in one of the patterns
|
|
|
|
PCRE2_ERROR_MEMORY memory allocation failed
|
|
|
|
PCRE2_ERROR_MIXEDTABLES the patterns do not all use the same tables
|
|
|
|
PCRE2_ERROR_NULL an argument other than <i>gcontext</i> is NULL
|
|
|
|
</pre>
|
|
|
|
PCRE2_ERROR_BADMAGIC means either that a pattern's code has been corrupted, or
|
|
|
|
that a slot in the vector does not point to a compiled pattern.
|
|
|
|
</P>
|
|
|
|
<P>
|
|
|
|
There is a complete description of the PCRE2 native API in the
|
|
|
|
<a href="pcre2api.html"><b>pcre2api</b></a>
|
2018-06-27 19:20:58 +02:00
|
|
|
page and a description of the serialization functions in the
|
|
|
|
<a href="pcre2serialize.html"><b>pcre2serialize</b></a>
|
2015-01-23 17:51:47 +01:00
|
|
|
page.
|
|
|
|
<p>
|
|
|
|
Return to the <a href="index.html">PCRE2 index page</a>.
|
|
|
|
</p>
|