| <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> | |
| <h2> | |
| SYNOPSIS | |
| </h2> | |
| <p> | |
| <b>#include <pcre2.h></b> | |
| </p> | |
| <p> | |
| <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> | |
| <b> PCRE2_SIZE *<i>serialized_size</i>, pcre2_general_context *<i>gcontext</i>);</b> | |
| </p> | |
| <h2> | |
| DESCRIPTION | |
| </h2> | |
| <p> | |
| This function encodes a list of compiled patterns into a byte stream that can | |
| be saved on disc or elsewhere. Note that this is not an abstract format like | |
| 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: | |
| <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> | |
| page and a description of the serialization functions in the | |
| <a href="pcre2serialize.html"><b>pcre2serialize</b></a> | |
| page. | |
| <p> | |
| Return to the <a href="index.html">PCRE2 index page</a>. | |
| </p> | |