67 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <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>
 | |
| <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>
 | |
| <br><b>
 | |
| DESCRIPTION
 | |
| </b><br>
 | |
| <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>
 |