Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
PCRE2_SERIALIZE_ENCODE(3)   Library Functions Manual   PCRE2_SERIALIZE_ENCODE(3)

NAME
     PCRE2 - Perl-compatible regular expressions (revised API)

SYNOPSIS

     #include <pcre2.h>

     int32_t pcre2_serialize_encode(const pcre2_code **codes,
       int32_t number_of_codes, uint8_t **serialized_bytes,
       PCRE2_SIZE *serialized_size, pcre2_general_context *gcontext);

DESCRIPTION

     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 pcre2_se-
     rialize_encode() are:

       codes		 pointer to a vector containing the list
       number_of_codes	 number of slots in the vector
       serialized_bytes  set to point to the serialized byte stream
       serialized_size	 set to the number of bytes in the byte stream
       gcontext 	 pointer to a general context or NULL

     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  pcre2_se-
     rialize_free().  The yield of the function is the number of serialized pat-
     terns, or one of the following negative error codes:

       PCRE2_ERROR_BADDATA	number_of_codes 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 gcontext is NULL

     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.

     There is a complete description of the PCRE2 native  API  in  the	pcre2api
     page and a description of the serialization functions in the pcre2serialize
     page.

PCRE2 10.47			 13 August 2018        PCRE2_SERIALIZE_ENCODE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pcre2_serialize_encode&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help