# php_manual

id: shmop_read
type: function
doc:
<comment>Description:</comment>
  Leer datos desde un segmento de memoria compartida
  
  <strong>shmop_read()</strong> leerá una cadena desde un segmento de memoria compartida.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shmid</strong>  El identificador del segmento de memoria compartida creado por <strong>shmop_open()</strong>
  <info>int</info>       <strong>$start</strong>  Offset desde el que comenzar a leer
  <info>int</info>       <strong>$count</strong>  El número de bytes a leer. <return>0</return> lee shmop_size($shmid) - $start bytes.

<comment>Return:</comment>
  <info>string</info>  Devuelve los datos o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>shmop_write()</strong>


id: shmop_size
type: function
doc:
<comment>Description:</comment>
  Obtiene el tamaño de un segmento de memoria compartida
  
  <strong>shmop_size()</strong> es utilizado ara obtener el tamaño en bytes, de un  segmento de memoria compartida.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shmid</strong>  El identificador del segmento de memoria compartida creado por <strong>shmop_open()</strong>

<comment>Return:</comment>
  <info>int</info>  Devuelve un entero, el cual representa el número de bytes que ocupa el segmento de memoria
       compartida.


id: shmop_write
type: function
doc:
<comment>Description:</comment>
  Escribir datos en un segmento de memoria compartida
  
  <strong>shmop_write()</strong> escribirá una cadena en un segmento de memoria compartida.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shmid</strong>   El identificador del segmento de la memoria compartida creado por <strong>shmop_open()</strong>
  <info>string</info>    <strong>$data</strong>    Una cadena a escribir en el segmento de la memoria compartida
  <info>int</info>       <strong>$offset</strong>  Especifica dónde empezará a escribir los datos en el interior del segmento de
                     la memoria compartida.

<comment>Return:</comment>
  <info>int</info>  El tamaño de la <strong>$data</strong> escrita, o <info>false</info> en  caso de fallo.

<comment>See Also:</comment>
   * <strong>shmop_read()</strong>


id: show_source
type: function
doc:
<comment>Description:</comment>
  Alias de highlight_file
  
  Esta función es un alias de:  <strong>highlight_file()</strong>.


id: shuffle
type: function
doc:
<comment>Description:</comment>
  Mezcla un array
  
  Esta función mezcla un array (crea un orden aleatorio de sus elementos). Utiliza un generador de
  números seudoaleatorios que no es apto para fines criptográficos.
  
  Si dos miembros se comparan como iguales, su orden relativo en el array oredenado será indefinido.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  El array.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>array_rand()</strong>
   * comparación de funciones de orden de arrays


id: simdjson_decode
type: function
doc:
<comment>Description:</comment>
  Decodes a JSON string
  
  Takes a JSON encoded string and converts it into a PHP value. This uses a faster Simultaneous
  Instruction, Multiple Data implementation than <strong>json_decode()</strong> when it is supported by the computer
  architecture.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>         The <strong>$json</strong> <info>string</info> being decoded.
                        
                        This function only works with UTF-8 encoded strings.
                        
                        This function parses valid inputs which <strong>json_decode()</strong> can decode, provided
                        that they are less than 4 GiB long.
  <info>bool</info>    <strong>$associative</strong>  When <info>true</info>, JSON objects will be returned as associative <info>array</info>s; when <info>false</info>,
                        JSON objects will be returned as <info>object</info>s.
  <info>int</info>     <strong>$depth</strong>        Maximum nesting depth of the structure being decoded. The value must be
                        greater than <return>0</return>, and less than or equal to <return>2147483647</return>.
                         Callers should use reasonably small values, because larger depths require
                        more buffer space and will increase the recursion depth, unlike the current
                        <strong>json_decode()</strong> implementation.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value encoded in <strong>$json</strong> in appropriate PHP type. Values <return>true</return>, <return>false</return> and <return>null</return> are
         returned as <info>true</info>, <info>false</info> and <info>null</info> respectively.

<comment>See Also:</comment>
   * <strong>json_encode()</strong>
   * <strong>json_decode()</strong>


id: simdjson_is_valid
type: function
doc:
<comment>Description:</comment>
  Check if a JSON string is valid
  
  Takes a JSON encoded string and returns true if it is valid.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>   The <strong>$json</strong> <info>string</info> being validated.
                  
                  This function only works with UTF-8 encoded strings.
                  
                  This function validates inputs which <strong>json_decode()</strong> can decode, provided that they
                  are less than 4 GiB long.
  <info>int</info>     <strong>$depth</strong>  Maximum nesting depth of the structure being validated. The value must be greater
                  than <return>0</return>, and less than or equal to <return>2147483647</return>.
                   Callers should use reasonably small values, because larger depths require more
                  buffer space and will increase the recursion depth, unlike the current
                  <strong>json_decode()</strong> implementation.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$json</strong> is a valid JSON string, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>json_encode()</strong>
   * <strong>json_decode()</strong>


id: simdjson_key_count
type: function
doc:
<comment>Description:</comment>
  Returns the value at a JSON pointer.
  
  Count the number of elements of the object/array found at the requested JSON pointer.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>                  The <strong>$json</strong> <info>string</info> being queried.
  <info>string</info>  <strong>$key</strong>                   The JSON pointer <info>string</info>.
  <info>int</info>     <strong>$depth</strong>                 Maximum nesting depth of the structure being validated. The value
                                 must be greater than <return>0</return>, and less than or equal to <return>2147483647</return>.
                                  Callers should use reasonably small values, because larger depths
                                 require more buffer space and will increase the recursion depth,
                                 unlike the current <strong>json_decode()</strong> implementation.
  <info>bool</info>    <strong>$throw_if_uncountable</strong>  When true, a <class>SimdJsonException</class> will be thrown instead of returning
                                 0 when the value the JSON pointer points to is neither an object
                                 nor an array.

<comment>Return:</comment>
  <info>int</info>  Returns an <info>int</info> with the number of elements of the value at the given JSON pointer.


id: simdjson_key_exists
type: function
doc:
<comment>Description:</comment>
  Check if the JSON contains the value referred to by a JSON pointer.
  
  Count the number of elements of the object/array found at the requested JSON pointer.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>                  The <strong>$json</strong> <info>string</info> being queried.
  <info>string</info>  <strong>$key</strong>                   The JSON pointer <info>string</info>.
  <info>int</info>     <strong>$depth</strong>                 Maximum nesting depth of the structure being validated. The value
                                 must be greater than <return>0</return>, and less than or equal to <return>2147483647</return>.
                                  Callers should use reasonably small values, because larger depths
                                 require more buffer space and will increase the recursion depth,
                                 unlike the current <strong>json_decode()</strong> implementation.
  <info></info>        <strong>$throw_if_uncountable</strong>  When true, a <class>SimdJsonException</class> will be thrown instead of returning
                                 0 when the value the JSON pointer points to is neither an object
                                 nor an array.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the JSON pointer is valid and refers to a value found within a valid JSON
        string. Returns <info>false</info> if the JSON is valid but does not contain the JSON pointer.


id: simdjson_key_value
type: function
doc:
<comment>Description:</comment>
  Decodes the value of a JSON string located at the requested JSON pointer.
  
  Decodes and returns the value found at the requested JSON pointer.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>         The <strong>$json</strong> <info>string</info> being queried and decoded.
                        
                        This function only works with UTF-8 encoded strings.
                        
                        This function parses valid inputs which <strong>json_decode()</strong> can decode, provided
                        that they are less than 4 GiB long.
  <info>string</info>  <strong>$key</strong>          The JSON pointer <info>string</info>.
  <info>bool</info>    <strong>$associative</strong>  When <info>true</info>, JSON objects will be returned as associative <info>array</info>s; when <info>false</info>,
                        JSON objects will be returned as <info>object</info>s.
  <info>int</info>     <strong>$depth</strong>        Maximum nesting depth of the structure being decoded. The value must be
                        greater than <return>0</return>, and less than or equal to <return>2147483647</return>.
                         Callers should use reasonably small values, because larger depths require
                        more buffer space and will increase the recursion depth, unlike the current
                        <strong>json_decode()</strong> implementation.

<comment>Return:</comment>
  <info>mixed</info>  Returns the part of the value encoded in <strong>$json</strong> that <strong>$key</strong> refers to in appropriate PHP type.
         Values <return>true</return>, <return>false</return> and <return>null</return> are returned as <info>true</info>, <info>false</info> and <info>null</info> respectively.

<comment>See Also:</comment>
   * <strong>json_encode()</strong>
   * <strong>simdjson_decode()</strong>


id: similar_text
type: function
doc:
<comment>Description:</comment>
  Calcula la similitud entre dos strings
  
  Esta función calcula la similitud entre dos strings según se describe en Programming Classics:
  Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Nótese que esta
  implementación no utiliza una pila como en el pseudo código de Oliver, sino llamadas recursivas
  que pueden o no pueden acelerar todo el proceso. También tener en cuenta que la complejidad de
  este algoritmo es O(N**3) donde N es la longitud del string más largo.

<comment>Param:</comment>
  <info>string</info>  <strong>$first</strong>    El primer string.
  <info>string</info>  <strong>$second</strong>   El segundo string.
  <info>float</info>   <strong>$percent</strong>  Mediante el paso de una referencia como tercer argumento, <strong>similar_text()</strong>
                    calculará la similitud en porcentaje.

<comment>Return:</comment>
  <info>int</info>  Devuelve el número de caracteres coincidentes en ambos strings.

<comment>See Also:</comment>
   * <strong>levenshtein()</strong>
   * <strong>soundex()</strong>


id: simplexml_import_dom
type: function
doc:
<comment>Description:</comment>
  Obtiene un objeto SimpleXMLElement de un nodo DOM
  
  Esta función toma un nodo de un documento DOM y lo convierte en un nodo SimpleXML. Este nuevo
  objeto puede ser usado como un elemento SimpleXML nativo.

<comment>Param:</comment>
  <info>DOMNode</info>  <strong>$node</strong>        Un nodo del elemento DOM
  <info>string</info>   <strong>$class_name</strong>  Este parámetro opcional debe usarse cuando se necesite que
                        <strong>simplexml_import_dom()</strong> retorne un objeto de la clase indicada. Esa clase
                        debe extender de la clase <info>SimpleXMLElement</info>.

<comment>Return:</comment>
  <info>SimpleXMLElement</info>  Devuelve un <info>SimpleXMLElement</info> o <info>false</info> en caso de error.
                    
                    Esta función puede
                    devolver el valor booleano <info>false</info>, pero también puede devolver un valor no
                    booleano que se
                    evalúa como <info>false</info>. Por favor lea la sección sobre Booleanos para más
                    información. Use el operador
                    === para comprobar el valor devuelto por esta
                    función.

<comment>See Also:</comment>
   * <strong>dom_import_simplexml()</strong>
   * 


id: simplexml_load_file
type: function
doc:
<comment>Description:</comment>
  Interpreta un fichero XML en un objeto
    
  
  Convierte el documento correcto XML del fichero dado en un objeto.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>    Ruta al fichero XML
                       
                       Libxml 2 no escapa la URI, así que si es necesario pasar, por ejemplo <return>b&c</return>,
                       como parámetro <return>a</return> de la URI, hay que llamar a
                       <return>simplexml_load_file(rawurlencode('http://example.com/?a=' .
                       urlencode('b&c')))</return>. Desde PHP 5.1.0 no es necesario hacer esto porque PHP lo
                       hará automáticamente.
  <info>string</info>  <strong>$class_name</strong>  Este parámetro opcional puede ser usado cuando se necesita que
                       <strong>simplexml_load_file()</strong> retorne un objeto de la clase especificada. Esa clase
                       debe extender de la clase <info>SimpleXMLElement</info>.
  <info>int</info>     <strong>$options</strong>     Desde PHP 5.1.0 y Libxml 2.6.0 puede usarse <strong>$options</strong> para especificar
                       parámetros Libxml adicionales.
  <info>string</info>  <strong>$ns</strong>          El prefijo del espacio de nombres o un URI.
  <info>bool</info>    <strong>$is_prefix</strong>   <info>true</info> si <strong>$ns</strong> es un prefijo, <info>false</info> si es un URI; por defecto es <info>false</info>.

<comment>Return:</comment>
  <info>SimpleXMLElement</info>  Devuelve un <info>object</info> de tipo <info>SimpleXMLElement</info> cuyas propiedades contienen los
                    datos del documento XML,  o <info>false</info> en caso de error.
                    
                    Esta función puede
                    devolver el valor booleano <info>false</info>, pero también puede devolver un valor no
                    booleano que se
                    evalúa como <info>false</info>. Por favor lea la sección sobre Booleanos para más
                    información. Use el operador
                    === para comprobar el valor devuelto por esta
                    función.

<comment>See Also:</comment>
   * <strong>simplexml_load_string()</strong>
   * SimpleXMLElement::__construct
   * 
   * <strong>libxml_use_internal_errors()</strong>
   * 


id: simplexml_load_string
type: function
doc:
<comment>Description:</comment>
  Interpreta un string de XML en un objeto
    
  
  Toma un string XML correcto y lo retorna como objeto.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>        Un string XML correcto
  <info>string</info>  <strong>$class_name</strong>  Este parámetro opcional puede ser usado cuando se necesita que
                       <strong>simplexml_load_file()</strong> retorne un objeto de la clase especificada. Esa clase
                       debe extender de la clase <info>SimpleXMLElement</info>.
  <info>int</info>     <strong>$options</strong>     Desde PHP 5.1.0 y Libxml 2.6.0 puede usarse <strong>$options</strong> para especificar
                       parámetros Libxml adicionales.
  <info>string</info>  <strong>$ns</strong>          El prefijo del espacio de nombres o un URI.
  <info>bool</info>    <strong>$is_prefix</strong>   <info>true</info> si <strong>$ns</strong> es un prefijo, <info>false</info> si es un URI; por defecto es <info>false</info>.

<comment>Return:</comment>
  <info>SimpleXMLElement</info>  Devuelve un <info>object</info> de tipo <info>SimpleXMLElement</info> cuyas propiedades contienen los
                    datos del documento XML,  o <info>false</info> en caso de error.
                    
                    Esta función puede
                    devolver el valor booleano <info>false</info>, pero también puede devolver un valor no
                    booleano que se
                    evalúa como <info>false</info>. Por favor lea la sección sobre Booleanos para más
                    información. Use el operador
                    === para comprobar el valor devuelto por esta
                    función.

<comment>See Also:</comment>
   * <strong>simplexml_load_file()</strong>
   * SimpleXMLElement::__construct
   * 
   * <strong>libxml_use_internal_errors()</strong>
   * 


id: sin
type: function
doc:
<comment>Description:</comment>
  Seno
  
  <strong>sin()</strong> devuelve el seno del parámetro <strong>$arg</strong>. El parámetro <strong>$arg</strong> se encuentra en radianes.

<comment>Param:</comment>
  <info>float</info>  <strong>$arg</strong>  Un valor en radianes

<comment>Return:</comment>
  <info>float</info>  El seno de <strong>$arg</strong>

<comment>See Also:</comment>
   * <strong>asin()</strong>
   * <strong>sinh()</strong>
   * <strong>cos()</strong>
   * <strong>tan()</strong>
   * <strong>deg2rad()</strong>


id: sinh
type: function
doc:
<comment>Description:</comment>
  Seno hiperbólico
  
  Devuelve el seno hiperbólico de <strong>$arg</strong>, definido como <return>(exp(arg) - exp(-arg))/2</return>.

<comment>Param:</comment>
  <info>float</info>  <strong>$arg</strong>  El argumento a procesar

<comment>Return:</comment>
  <info>float</info>  El seno hiperbólico de <strong>$arg</strong>

<comment>See Also:</comment>
   * <strong>sin()</strong>
   * <strong>asinh()</strong>
   * <strong>cosh()</strong>
   * <strong>tanh()</strong>


id: sizeof
type: function
doc:
<comment>Description:</comment>
  Alias de count
  
  Esta función es un alias de:  <strong>count()</strong>.


id: sleep
type: function
doc:
<comment>Description:</comment>
  Retrasar la ejecución
  
  Retrasa la ejecución del programa durante el número de segundos dados por <strong>$seconds</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$seconds</strong>  El tiempo de parada en segundos.

<comment>Return:</comment>
  <info>int</info>  Devuelve cero en caso de éxito, o <info>false</info> en caso de error.
       
       Si la llamada se interrumpió por una señal, <strong>sleep()</strong> devuelve un valor distinto de cero. En
       Windows, este valor será siempre <return>192</return> (el valor de la constante <info>WAIT_IO_COMPLETION</info> dentro de
       la API de Windows). En otras plataformas, el valor devuelto será el número de segundos que
       quedan para dormir.

<comment>See Also:</comment>
   * <strong>usleep()</strong>
   * <strong>time_nanosleep()</strong>
   * <strong>time_sleep_until()</strong>
   * <strong>set_time_limit()</strong>


id: snmp2_get
type: function
doc:
<comment>Description:</comment>
  Fetch an SNMP object
  
  The <strong>snmp2_get()</strong> function is used to read the value of an SNMP object specified by the <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The SNMP agent.
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>mixed</info>  Returns SNMP object value on success or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>snmp2_set()</strong>


id: snmp2_getnext
type: function
doc:
<comment>Description:</comment>
  Fetch the SNMP object which follows the given object id
  
  The <strong>snmp2_get_next()</strong> function is used to read the value of the SNMP object that follows the
  specified <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object id which precedes the wanted one.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>mixed</info>  Returns SNMP object value on success or <info>false</info> on error. In case of an error, an E_WARNING
         message is shown.

<comment>See Also:</comment>
   * <strong>snmp2_get()</strong>
   * <strong>snmp2_walk()</strong>


id: snmp2_real_walk
type: function
doc:
<comment>Description:</comment>
  Return all objects including their respective object ID within the specified one
  
  The <strong>snmp2_real_walk()</strong> function is used to traverse over a number of SNMP objects starting from
  <strong>$object_id</strong> and return not only their values but also their object ids.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object id which precedes the wanted one.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array of the SNMP object ids and their values on success or
               <info>false</info> on error. In case of an error, an E_WARNING message is shown.

<comment>See Also:</comment>
   * <strong>snmp2_walk()</strong>


id: snmp2_set
type: function
doc:
<comment>Description:</comment>
  Set the value of an SNMP object
  
  <strong>snmp2_set()</strong> is used to set the value of an SNMP object specified by the <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$community</strong>  The write community.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object id.
  <info>array|string</info>  <strong>$type</strong>       MIB define el tipo de cada identificador de objeto. Debe indicarse con
                            un único carácter de la siguiente lista.
                            
                            Si se definió <info>OPAQUE_SPECIAL_TYPES</info> al compilar la biblioteca SNMP, los
                            siguientes valores serán también válidos:
                            
                            La mayoría, utilizarán su correspondiente tipo ASN.1. 's', 'x', 'd' y
                            'b' son diferentes formas de especificar un valor de OCTET STRING, y
                            el tipo sin signo 'u' se usa también para manejar valores Gauge32.
                            
                            Si se cargan los ficheros MIB en el árbol MIB con "snmp_read_mib" o con
                            la configuración de libsnmp, se puede usar '=' como
                            parámetro <strong>$type</strong> para todos los id de objetos, ya que se podrá leer
                            automáticamente el tipo a partir del MIB.
                            
                            Tenga presente que hay dos formas de asigar a una variable los tipos
                            BITS, como por ejemplo.
                            "SYNTAX    BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5),
                            https(6)}":
                            
                            Usando el tipo "b" y una lista numérica de bits. No se recomienda usar
                            este método, ya que una consulta GET para un mismo OID devolvería, por
                            ejemplo 0xF8.
                            
                            Usando el tipo "x" y un número hexadecimal, pero si el prefijo "0x".
                            
                            Revise el apartado de ejemplos para más detalles.
  <info>array|string</info>  <strong>$value</strong>      The new value.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.
        
        If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet.
        Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or
        invalid OID is specified the warning probably reads "Could not add variable".

<comment>See Also:</comment>
   * <strong>snmp2_get()</strong>


id: snmp2_walk
type: function
doc:
<comment>Description:</comment>
  Fetch all the SNMP objects from an agent
  
  <strong>snmp2_walk()</strong> function is used to read all the values from an SNMP agent specified by the
  <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The SNMP agent (server).
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  If <info>null</info>, <strong>$object_id</strong> is taken as the root of the SNMP objects tree and
                            all objects under that tree are returned as an array.
                            
                            If <strong>$object_id</strong> is specified, all the SNMP objects below that <strong>$object_id</strong>
                            are returned.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of SNMP object values starting from the <strong>$object_id</strong> as root or <info>false</info>
               on error.

<comment>See Also:</comment>
   * <strong>snmp2_real_walk()</strong>


id: snmp3_get
type: function
doc:
<comment>Description:</comment>
  Fetch an SNMP object
  
  The <strong>snmp3_get()</strong> function is used to read the value of an SNMP object specified by the <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$security_name</strong>       the security name, usually some kind of username
  <info>string</info>        <strong>$security_level</strong>      the security level (noAuthNoPriv|authNoPriv|authPriv)
  <info>string</info>        <strong>$auth_protocol</strong>       the authentication protocol (<return>"MD5"</return>, <return>"SHA"</return>, <return>"SHA256"</return>, or
                                     <return>"SHA512"</return>)
  <info>string</info>        <strong>$auth_passphrase</strong>     the authentication pass phrase
  <info>string</info>        <strong>$privacy_protocol</strong>    the privacy protocol (DES or AES)
  <info>string</info>        <strong>$privacy_passphrase</strong>  the privacy pass phrase
  <info>array|string</info>  <strong>$object_id</strong>           The SNMP object id.
  <info>int</info>           <strong>$timeout</strong>             The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>             The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>mixed</info>  Returns SNMP object value on success or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>snmp3_set()</strong>


id: snmp3_getnext
type: function
doc:
<comment>Description:</comment>
  Fetch the SNMP object which follows the given object id
  
  The <strong>snmp3_getnext()</strong> function is used to read the value of the SNMP object that follows the
  specified <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$security_name</strong>       the security name, usually some kind of username
  <info>string</info>        <strong>$security_level</strong>      the security level (noAuthNoPriv|authNoPriv|authPriv)
  <info>string</info>        <strong>$auth_protocol</strong>       the authentication protocol (<return>"MD5"</return>, <return>"SHA"</return>, <return>"SHA256"</return>, or
                                     <return>"SHA512"</return>)
  <info>string</info>        <strong>$auth_passphrase</strong>     the authentication pass phrase
  <info>string</info>        <strong>$privacy_protocol</strong>    the privacy protocol (DES or AES)
  <info>string</info>        <strong>$privacy_passphrase</strong>  the privacy pass phrase
  <info>array|string</info>  <strong>$object_id</strong>           The SNMP object id.
  <info>int</info>           <strong>$timeout</strong>             The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>             The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>mixed</info>  Returns SNMP object value on success or <info>false</info> on error. In case of an error, an E_WARNING
         message is shown.

<comment>See Also:</comment>
   * <strong>snmp3_get()</strong>
   * <strong>snmp3_walk()</strong>


id: snmp3_real_walk
type: function
doc:
<comment>Description:</comment>
  Return all objects including their respective object ID within the specified one
  
  The <strong>snmp3_real_walk()</strong> function is used to traverse over a number of SNMP objects starting from
  <strong>$object_id</strong> and return not only their values but also their object ids.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$security_name</strong>       the security name, usually some kind of username
  <info>string</info>        <strong>$security_level</strong>      the security level (noAuthNoPriv|authNoPriv|authPriv)
  <info>string</info>        <strong>$auth_protocol</strong>       the authentication protocol (MD5 or SHA)
  <info>string</info>        <strong>$auth_passphrase</strong>     the authentication pass phrase
  <info>string</info>        <strong>$privacy_protocol</strong>    the authentication protocol (<return>"MD5"</return>, <return>"SHA"</return>, <return>"SHA256"</return>, or
                                     <return>"SHA512"</return>)
  <info>string</info>        <strong>$privacy_passphrase</strong>  the privacy pass phrase
  <info>array|string</info>  <strong>$object_id</strong>           The SNMP object id.
  <info>int</info>           <strong>$timeout</strong>             The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>             The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array of the SNMP object ids and their values on success or
               <info>false</info> on error. In case of an error, an E_WARNING message is shown.

<comment>See Also:</comment>
   * <strong>snmpwalk()</strong>


id: snmp3_set
type: function
doc:
<comment>Description:</comment>
  Set the value of an SNMP object
  
  <strong>snmp3_set()</strong> is used to set the value of an SNMP object specified by the <strong>$object_id</strong>.
  
  Even if the security level does not use an auth or priv protocol/password valid values have to be
  specified.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$security_name</strong>       the security name, usually some kind of username
  <info>string</info>        <strong>$security_level</strong>      the security level (noAuthNoPriv|authNoPriv|authPriv)
  <info>string</info>        <strong>$auth_protocol</strong>       the authentication protocol (MD5 or SHA)
  <info>string</info>        <strong>$auth_passphrase</strong>     the authentication pass phrase
  <info>string</info>        <strong>$privacy_protocol</strong>    the privacy protocol (DES or AES)
  <info>string</info>        <strong>$privacy_passphrase</strong>  the privacy pass phrase
  <info>array|string</info>  <strong>$object_id</strong>           The SNMP object id.
  <info>array|string</info>  <strong>$type</strong>                MIB define el tipo de cada identificador de objeto. Debe
                                     indicarse con un único carácter de la siguiente lista.
                                     
                                     Si se definió <info>OPAQUE_SPECIAL_TYPES</info> al compilar la biblioteca
                                     SNMP, los siguientes valores serán también válidos:
                                     
                                     La mayoría, utilizarán su correspondiente tipo ASN.1. 's', 'x',
                                     'd' y 'b' son diferentes formas de especificar un valor de
                                     OCTET STRING, y
                                     el tipo sin signo 'u' se usa también para manejar valores
                                     Gauge32.
                                     
                                     Si se cargan los ficheros MIB en el árbol MIB con
                                     "snmp_read_mib" o con la configuración de libsnmp, se puede
                                     usar '=' como
                                     parámetro <strong>$type</strong> para todos los id de objetos, ya que se podrá
                                     leer automáticamente el tipo a partir del MIB.
                                     
                                     Tenga presente que hay dos formas de asigar a una variable los
                                     tipos BITS, como por ejemplo.
                                     "SYNTAX    BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4),
                                     ssh(5), https(6)}":
                                     
                                     Usando el tipo "b" y una lista numérica de bits. No se
                                     recomienda usar este método, ya que una consulta GET para un
                                     mismo OID devolvería, por ejemplo 0xF8.
                                     
                                     Usando el tipo "x" y un número hexadecimal, pero si el prefijo
                                     "0x".
                                     
                                     Revise el apartado de ejemplos para más detalles.
  <info>array|string</info>  <strong>$value</strong>               The new value
  <info>int</info>           <strong>$timeout</strong>             The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>             The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.
        
        If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet.
        Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or
        invalid OID is specified the warning probably reads "Could not add variable".


id: snmp3_walk
type: function
doc:
<comment>Description:</comment>
  Fetch all the SNMP objects from an agent
  
  <strong>snmp3_walk()</strong> function is used to read all the values from an SNMP agent specified by the
  <strong>$hostname</strong>.
  
  Even if the security level does not use an auth or priv protocol/password valid values have to be
  specified.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$security_name</strong>       the security name, usually some kind of username
  <info>string</info>        <strong>$security_level</strong>      the security level (noAuthNoPriv|authNoPriv|authPriv)
  <info>string</info>        <strong>$auth_protocol</strong>       the authentication protocol (<return>"MD5"</return>, <return>"SHA"</return>, <return>"SHA256"</return>, or
                                     <return>"SHA512"</return>)
  <info>string</info>        <strong>$auth_passphrase</strong>     the authentication pass phrase
  <info>string</info>        <strong>$privacy_protocol</strong>    the privacy protocol (DES or AES)
  <info>string</info>        <strong>$privacy_passphrase</strong>  the privacy pass phrase
  <info>array|string</info>  <strong>$object_id</strong>           If <info>null</info>, <strong>$object_id</strong> is taken as the root of the SNMP objects
                                     tree and all objects under that tree are returned as an array.
                                     
                                     If <strong>$object_id</strong> is specified, all the SNMP objects below that
                                     <strong>$object_id</strong> are returned.
  <info>int</info>           <strong>$timeout</strong>             The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>             The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of SNMP object values starting from the <strong>$object_id</strong> as root or <info>false</info>
               on error.

<comment>See Also:</comment>
   * <strong>snmp3_real_walk()</strong>


id: snmp_get_quick_print
type: function
doc:
<comment>Description:</comment>
  Fetches the current value of the NET-SNMP library's quick_print setting
    
  
  Returns the current value stored in the NET-SNMP Library for quick_print.   quick_print is off by
  default.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if quick_print is on, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>snmp_set_quick_print()</strong> for a full description
     of what quick_print does.


id: snmp_get_valueretrieval
type: function
doc:
<comment>Description:</comment>
  Return the method how the SNMP values will be returned

<comment>Return:</comment>
  <info>int</info>  OR-ed combitantion of constants ( <info>SNMP_VALUE_LIBRARY</info> or <info>SNMP_VALUE_PLAIN</info> ) with possible
       SNMP_VALUE_OBJECT set.

<comment>See Also:</comment>
   * <strong>snmp_set_valueretrieval()</strong>
   * 


id: snmp_read_mib
type: function
doc:
<comment>Description:</comment>
  Reads and parses a MIB file into the active MIB tree
    
  
  This function is used to load additional, e.g. vendor specific, MIBs so that human readable OIDs
  like <return>VENDOR-MIB::foo.1</return> instead of error prone numeric OIDs can be used.
  
  The order in which the MIBs are loaded does matter as the underlying Net-SNMP library will print
  warnings if referenced objects cannot be resolved.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the MIB.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: snmp_set_enum_print
type: function
doc:
<comment>Description:</comment>
  Return all values that are enums with their enum value instead of the raw integer
    
  
  This function toggles if snmpwalk/snmpget etc. should automatically lookup enum values in the MIB
  and return them together with their human readable string.

<comment>Param:</comment>
  <info>bool</info>  <strong>$enable</strong>  As the value is interpreted as boolean by the Net-SNMP library, it can only be "0"
                 or "1".

<comment>Return:</comment>
  <info>true</info>  Siempre devuelve <info>true</info>.


id: snmp_set_oid_numeric_print
type: function
doc:
<comment>Description:</comment>
  Alias de snmp_set_oid_output_format
  
  Esta función es un alias de:  <strong>snmp_set_oid_output_format()</strong>.

<comment>See Also:</comment>
   * <strong>snmp_set_oid_output_format()</strong>


id: snmp_set_oid_output_format
type: function
doc:
<comment>Description:</comment>
  Set the OID output format
    
  
  <strong>snmp_set_oid_output_format()</strong> sets the output format to be full or numeric.

<comment>Param:</comment>
  <info>int</info>  <strong>$format</strong>  

<comment>Return:</comment>
  <info>true</info>  Siempre devuelve <info>true</info>.


id: snmp_set_quick_print
type: function
doc:
<comment>Description:</comment>
  Set the value of enable within the NET-SNMP library
    
  
  Sets the value of <strong>$enable</strong> within the NET-SNMP library.  When this is set (1), the SNMP library
  will return 'quick printed' values.  This means that just the value will be printed.  When <strong>$enable</strong>
  is not enabled (default) the NET-SNMP library prints extra information including the type of the
  value (i.e. IpAddress or OID).  Additionally,  if quick_print is not enabled, the library prints
  additional hex values  for all strings of three characters or less.
  
  By default the NET-SNMP library returns verbose values, quick_print is used to return only the
  value.
  
  Currently strings are still returned with extra quotes, this will be corrected in a later release.

<comment>Param:</comment>
  <info>bool</info>  <strong>$enable</strong>  

<comment>Return:</comment>
  <info>true</info>  Siempre devuelve <info>true</info>.

<comment>See Also:</comment>
   * <strong>snmp_get_quick_print()</strong>


id: snmp_set_valueretrieval
type: function
doc:
<comment>Description:</comment>
  Specify the method how the SNMP values will be returned

<comment>Param:</comment>
  <info>int</info>  <strong>$method</strong>  

<comment>Return:</comment>
  <info>true</info>  Siempre devuelve <info>true</info>.

<comment>See Also:</comment>
   * <strong>snmp_get_valueretrieval()</strong>
   * 


id: snmpget
type: function
doc:
<comment>Description:</comment>
  Fetch an SNMP object
  
  The <strong>snmpget()</strong> function is used to read the value of an SNMP object specified by the <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The SNMP agent.
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>mixed</info>  Returns SNMP object value on success or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>snmpset()</strong>


id: snmpgetnext
type: function
doc:
<comment>Description:</comment>
  Fetch the SNMP object which follows the given object id
    
  
  The <strong>snmpgetnext()</strong> function is used to read the value of the SNMP object that follows the specified
  <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object id which precedes the wanted one.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>mixed</info>  Returns SNMP object value on success or <info>false</info> on error. In case of an error, an E_WARNING
         message is shown.

<comment>See Also:</comment>
   * <strong>snmpget()</strong>
   * <strong>snmpwalk()</strong>


id: snmprealwalk
type: function
doc:
<comment>Description:</comment>
  Return all objects including their respective object ID within the specified one
    
  
  The <strong>snmprealwalk()</strong> function is used to traverse over a number of SNMP objects starting from
  <strong>$object_id</strong> and return not only their values but also their object ids.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object id which precedes the wanted one.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array of the SNMP object ids and their values on success or
               <info>false</info> on error. In case of an error, an E_WARNING message is shown.

<comment>See Also:</comment>
   * <strong>snmpwalk()</strong>


id: snmpset
type: function
doc:
<comment>Description:</comment>
  Set the value of an SNMP object
  
  <strong>snmpset()</strong> is used to set the value of an SNMP object specified by the <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The hostname of the SNMP agent (server).
  <info>string</info>        <strong>$community</strong>  The write community.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object id.
  <info>array|string</info>  <strong>$type</strong>       MIB define el tipo de cada identificador de objeto. Debe indicarse con
                            un único carácter de la siguiente lista.
                            
                            Si se definió <info>OPAQUE_SPECIAL_TYPES</info> al compilar la biblioteca SNMP, los
                            siguientes valores serán también válidos:
                            
                            La mayoría, utilizarán su correspondiente tipo ASN.1. 's', 'x', 'd' y
                            'b' son diferentes formas de especificar un valor de OCTET STRING, y
                            el tipo sin signo 'u' se usa también para manejar valores Gauge32.
                            
                            Si se cargan los ficheros MIB en el árbol MIB con "snmp_read_mib" o con
                            la configuración de libsnmp, se puede usar '=' como
                            parámetro <strong>$type</strong> para todos los id de objetos, ya que se podrá leer
                            automáticamente el tipo a partir del MIB.
                            
                            Tenga presente que hay dos formas de asigar a una variable los tipos
                            BITS, como por ejemplo.
                            "SYNTAX    BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5),
                            https(6)}":
                            
                            Usando el tipo "b" y una lista numérica de bits. No se recomienda usar
                            este método, ya que una consulta GET para un mismo OID devolvería, por
                            ejemplo 0xF8.
                            
                            Usando el tipo "x" y un número hexadecimal, pero si el prefijo "0x".
                            
                            Revise el apartado de ejemplos para más detalles.
  <info>array|string</info>  <strong>$value</strong>      The new value.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.
        
        If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet.
        Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or
        invalid OID is specified the warning probably reads "Could not add variable".

<comment>See Also:</comment>
   * <strong>snmpget()</strong>


id: snmpwalk
type: function
doc:
<comment>Description:</comment>
  Fetch all the SNMP objects from an agent
  
  <strong>snmpwalk()</strong> function is used to read all the values from an SNMP agent specified by the <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The SNMP agent (server).
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  If <info>null</info>, <strong>$object_id</strong> is taken as the root of the SNMP objects tree and
                            all objects under that tree are returned as an array.
                            
                            If <strong>$object_id</strong> is specified, all the SNMP objects below that <strong>$object_id</strong>
                            are returned.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of SNMP object values starting from the <strong>$object_id</strong> as root or <info>false</info>
               on error.

<comment>See Also:</comment>
   * <strong>snmprealwalk()</strong>


id: snmpwalkoid
type: function
doc:
<comment>Description:</comment>
  Query for a tree of information about a network entity
    
  
  <strong>snmpwalkoid()</strong> function is used to read all object ids and their respective values from an SNMP
  agent specified by   <strong>$hostname</strong>.
  
  The existence of <strong>snmpwalkoid()</strong> and <strong>snmpwalk()</strong> has historical reasons.  Both functions are provided
  for backward compatibility. Use <strong>snmprealwalk()</strong> instead.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   The SNMP agent.
  <info>string</info>        <strong>$community</strong>  The read community.
  <info>array|string</info>  <strong>$object_id</strong>  If <info>null</info>, <strong>$object_id</strong> is taken as the root of the SNMP objects tree and
                            all objects under that tree are returned as an array.
                            
                            If <strong>$object_id</strong> is specified, all the SNMP objects below that <strong>$object_id</strong>
                            are returned.
  <info>int</info>           <strong>$timeout</strong>    The number of microseconds until the first timeout.
  <info>int</info>           <strong>$retries</strong>    The number of times to retry if timeouts occur.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array with object ids and their respective object value
               starting from the <strong>$object_id</strong> as root or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>snmpwalk()</strong>


id: socket_accept
type: function
doc:
<comment>Description:</comment>
  Acepta una conexión de un socket
  
  Después de que se haya creado el socket <strong>$socket</strong> usando <strong>socket_create()</strong>, vinculado a un nombre con
  <strong>socket_bind()</strong>, e indicado que escuche conexiones con <strong>socket_listen()</strong>, esta función aceptará
  conexiones entrantes sobre ese socket. Una vez que se realice una conexión con éxito, se devolverá
  un nuevo recurso socket, que puede ser usado para comunicación. Si hay múltiples conexiones en
  cola sobre el socket se usará el primero. Si no hay conexiones pendientes, <strong>socket_accept()</strong>
  bloqueará hasta que que esté presente una conexión. Si <strong>$socket</strong> ha sido hecho como de no-bloqueo
  usando <strong>socket_set_blocking()</strong> o <strong>socket_set_nonblock()</strong>, se devolverá <info>false</info>.
  
  El recurso socket devuelto por <strong>socket_accept()</strong> puede no ser usado para aceptar nuevas conexiones.
  Sin embargo, el socket de escucha original, <strong>$socket</strong>, permanece abierto y puede ser reutilizado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Devuelve un nuevo recurso socket en caso de éxito, o <info>false</info> en caso de error. El código
            de error real se puede recuperar llamanado a <strong>socket_last_error()</strong>. Este código de error
            se puede pasar a <strong>socket_strerror()</strong> para obtener una explicación textual del error.

<comment>See Also:</comment>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_strerror()</strong>


id: socket_addrinfo_bind
type: function
doc:
<comment>Description:</comment>
  Create and bind to a socket from a given addrinfo
  
  Create a <class>Socket</class> instance, and bind it to the provided <class>AddressInfo</class>.  The return value of this
  function may be used with <strong>socket_listen()</strong>.

<comment>Param:</comment>
  <info>AddressInfo</info>  <strong>$address</strong>  <class>AddressInfo</class> instance created from <strong>socket_addrinfo_lookup()</strong>.

<comment>Return:</comment>
  <info>Socket|false</info>  Returns a <class>Socket</class> instance on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>socket_addrinfo_connect()</strong>
   * <strong>socket_addrinfo_explain()</strong>
   * <strong>socket_addrinfo_lookup()</strong>
   * <strong>socket_listen()</strong>


id: socket_addrinfo_connect
type: function
doc:
<comment>Description:</comment>
  Create and connect to a socket from a given addrinfo
  
  Create a <class>Socket</class> instance, and connect it to the provided <class>AddressInfo</class> instance.  The return value
  of this function may be used with the rest of the socket functions.

<comment>Param:</comment>
  <info>AddressInfo</info>  <strong>$address</strong>  <class>AddressInfo</class> instance created from <strong>socket_addrinfo_lookup()</strong>

<comment>Return:</comment>
  <info>Socket|false</info>  Returns a <class>Socket</class> instance on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>socket_addrinfo_bind()</strong>
   * <strong>socket_addrinfo_explain()</strong>
   * <strong>socket_addrinfo_lookup()</strong>


id: socket_addrinfo_explain
type: function
doc:
<comment>Description:</comment>
  Get information about addrinfo
  
  <strong>socket_addrinfo_explain()</strong> exposed the underlying <return>addrinfo</return> structure.

<comment>Param:</comment>
  <info>AddressInfo</info>  <strong>$address</strong>  <class>AddressInfo</class> instance created from <strong>socket_addrinfo_lookup()</strong>

<comment>Return:</comment>
  <info>array</info>  Returns an array containing the fields in the <return>addrinfo</return> structure.

<comment>See Also:</comment>
   * <strong>socket_addrinfo_bind()</strong>
   * <strong>socket_addrinfo_connect()</strong>
   * <strong>socket_addrinfo_lookup()</strong>


id: socket_addrinfo_lookup
type: function
doc:
<comment>Description:</comment>
  Get array with contents of getaddrinfo about the given hostname
  
  Lookup different ways we can connect to <strong>$host</strong>.  The returned array contains a set of <class>AddressInfo</class>
  instances that we can bind to using <strong>socket_addrinfo_bind()</strong>.

<comment>Param:</comment>
  <info>string</info>       <strong>$host</strong>     Hostname to search.
  <info>string|null</info>  <strong>$service</strong>  The service to connect to. If service is a numeric string, it designates
                         the port. Otherwise it designates a network service name, which is mapped
                         to a port by the operating system.
  <info>array</info>        <strong>$hints</strong>    Hints provide criteria for selecting addresses returned.  You may specify
                         the hints as defined by getaddrinfo.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of <class>AddressInfo</class> instances that can be used with the other
               socket_addrinfo functions. On failure, <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>socket_addrinfo_bind()</strong>
   * <strong>socket_addrinfo_connect()</strong>
   * <strong>socket_addrinfo_explain()</strong>


id: socket_atmark
type: function
doc:
<comment>Description:</comment>
  Determines whether socket is at out-of-band mark
  
  Determines whether <strong>$socket</strong> is at out-of-band mark.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  A <class>Socket</class> instance created with <strong>socket_create()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_connect()</strong>
   * <strong>socket_create()</strong>


id: socket_bind
type: function
doc:
<comment>Description:</comment>
  Vincula un nombre a un socket
  
  Vincula el nombre dado en <strong>$address</strong> al socket descrito por <strong>$socket</strong>. Esto tiene que ser hecho antes
  de establecer una conexión usando <strong>socket_connect()</strong> o <strong>socket_listen()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   Un recurso socket válido creado con <strong>socket_create()</strong>.
  <info>string</info>    <strong>$address</strong>  Si el socket es de la familia <info>AF_INET</info>,  <strong>$address</strong> es una IP en notación decimal
                      con puntos (p.ej. <return>127.0.0.1</return>).
                      
                      Si el socket es de la familia <info>AF_UNIX</info>, <strong>$address</strong> es una ruta de un socket de
                      dominio Unix (p.ej. /tmp/my.sock).
  <info>int</info>       <strong>$port</strong>     El parámetro <strong>$port</strong> sólo se usa cuando se vincula un socket <info>AF_INET</info>, y designa
                      el puerto en el que escuchar conexiones.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.
        
        El código de error se puede recuperar con <strong>socket_last_error()</strong>. Este código puede pasarse a
        <strong>socket_strerror()</strong> para obtener una explicación textual del error.

<comment>See Also:</comment>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_clear_error
type: function
doc:
<comment>Description:</comment>
  Limpia el error del socket o el último código de error
  
  Esta función limpia el código de error del socket dado o el último error global de socket si no se
  especifica un socket.
  
  Esta función permite reiniciar explícitamente el valor del código de error de un socket o del
  último código de error global de extensión. Puede ser útil para detectar si ocurrió un error
  dentro de una parte de la aplicación.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong>.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_close
type: function
doc:
<comment>Description:</comment>
  Cierra un recurso socket
  
  <strong>socket_close()</strong> cierra el recurso socket dado por <strong>$socket</strong>. Esta función es específica para sockets
  y no se puede usar en otros tipos de recursos.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong> o <strong>socket_accept()</strong>.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * <strong>socket_bind()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_strerror()</strong>


id: socket_cmsg_space
type: function
doc:
<comment>Description:</comment>
  Calcular el tamaño del búfer de mensajes
  
  Calcula el tamaño del búfer que debería ser asignado para recibir datos subordinados.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>int</info>  <strong>$level</strong>  
  <info>int</info>  <strong>$type</strong>   

<comment>Return:</comment>
  <info>int</info>  

<comment>See Also:</comment>
   * <strong>socket_recvmsg()</strong>
   * <strong>socket_sendmsg()</strong>


id: socket_connect
type: function
doc:
<comment>Description:</comment>
  Inicia una conexión sobre un socket
  
  Inicia una conexión hacia <strong>$address</strong> usando el recurso socket <strong>$socket</strong>, el cual debe ser un recurso
  socket válido creado con <strong>socket_create()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   
  <info>string</info>    <strong>$address</strong>  El parámetro <strong>$address</strong> es una dirección IPv4 en notación decimal con puntos
                      (p.ej. <return>127.0.0.1</return>) si <strong>$socket</strong> es <info>AF_INET</info>, una dirección IPv6 válida (p.ej. <return>::1</return>)
                      si está habilitado el soporte para IPv6 y  <strong>$socket</strong> es <info>AF_INET6</info> o el nombre de
                      ruta de un socket de dominio Unix, si la familia de sockets es <info>AF_UNIX</info>.
  <info>int</info>       <strong>$port</strong>     El parámetro <strong>$port</strong> sólo se usa y es obligatoria al conectarse a un socket
                      <info>AF_INET</info> o a un socket <info>AF_INET6</info>, y desgina el puerto del host remoto al que
                      debería de hacerse una conexión.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error. El código de error se puede
        recurperar con <strong>socket_last_error()</strong>. Este código se puede pasar a <strong>socket_strerror()</strong> para
        obtener una explicación textual del error.
        
        Si el socket es de no-bloqueo, esta función devolverá <info>false</info> con un error <return>Operation now in
        progress</return> (La operación está en progreso).

<comment>See Also:</comment>
   * <strong>socket_bind()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_create
type: function
doc:
<comment>Description:</comment>
  Crear un socket (extremo de comunicación)
  
  Crea y devuelve un recurso socket, también referido como un extremo de comunicación. Una conexión
  típica de red está constituida por 2 sockets, uno realizando el papel del cliente, y otro
  realizando el papel del servidor.

<comment>Param:</comment>
  <info>int</info>  <strong>$domain</strong>    El parámetro <strong>$domain</strong> especifica la familia de protocolos que va a usar por el
                  socket.
  <info>int</info>  <strong>$type</strong>      El parámetro <strong>$type</strong> selecciona el tipo de comunicación que va a usar el socket.
  <info>int</info>  <strong>$protocol</strong>  El parámetro <strong>$protocol</strong> establece el protocolo específico dentro del <strong>$domain</strong>
                  especificado a usar al comunicarse con el socket devuelto. El valor apropiado
                  puede ser recuperado por su nombre usando <strong>getprotobyname()</strong>. Si el protocolo
                  deseado es TCP o UDP, también se pueden usar las constantes <info>SOL_TCP</info>, y <info>SOL_UDP</info>
                  correspondientes.

<comment>Return:</comment>
  <info>resource</info>  <strong>socket_create()</strong> devuelve un recurso socket en caso de éxito, o <info>false</info> en caso de error.
            El código de error real se puede recuperar llamando a <strong>socket_last_error()</strong>. Este código
            de error se puede pasar a <strong>socket_strerror()</strong> para obtener una explicación textual del
            error.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_create_listen
type: function
doc:
<comment>Description:</comment>
  Abre un socket en un puerto para aceptar conexiones
  
  <strong>socket_create_listen()</strong> crea un nuevo recurso socket de tipo <info>AF_INET</info> que escucha en todas las
  interfaces locales del puerto dado esperando para nuevas conexiones.
  
  Esta función tiene la intención de facilitar la tarea de crear un nuevo socket que sólo escuche
  para aceptar nuevas conexiones.

<comment>Param:</comment>
  <info>int</info>  <strong>$port</strong>     El puerto en el que escuchar todas las interfaces.
  <info>int</info>  <strong>$backlog</strong>  El parámetro <strong>$backlog</strong> define la longitud máxima a la que puede aumentar la cola de
                 conexiones pendientes. Se puede pasar <info>SOMAXCONN</info> como el parámetro <strong>$backlog</strong>, véase
                 <strong>socket_listen()</strong> para más información.

<comment>Return:</comment>
  <info>resource</info>  <strong>socket_create_listen()</strong> devuelve un nuevo recurso socket en caso de éxito o <info>false</info> en caso
            de error. El código de error de puede recuperar con <strong>socket_last_error()</strong>. Este código se
            puede pasar a <strong>socket_strerror()</strong> para obtener una explicación textual del error.

<comment>See Also:</comment>
   * <strong>socket_create()</strong>
   * <strong>socket_create_pair()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_create_pair
type: function
doc:
<comment>Description:</comment>
  Crea un par de sockets indistinguibles y los almacena en una matriz
  
  <strong>socket_create_pair()</strong> crea dos sockets conectados e indistinguibles y los almacena en <strong>$fd</strong>. Esta
  función se usa comúnmente en IPC (InterProcess Communication - Comunicación entre procesos).

<comment>Param:</comment>
  <info>int</info>    <strong>$domain</strong>    El parámetro <strong>$domain</strong> especifica la familia de protocolos que se va a usar en el
                    socket. Véase <strong>socket_create()</strong> para la lista completa.
  <info>int</info>    <strong>$type</strong>      El parámetro <strong>$type</strong> selecciona el tipo de comunicación que va a usar el socket.
                    Véase <strong>socket_create()</strong> para la lista completa.
  <info>int</info>    <strong>$protocol</strong>  El parámetro <strong>$protocol</strong> establece el protocolo específico dentro del <strong>$domain</strong>
                    especificado a usar cuando se comunica con el socket devuelto. El valor
                    apropiado se puede recuperar por nombre usando <strong>getprotobyname()</strong>. Si el protocolo
                    deseado es TCP, o UDP, se pueden usar también las constantes <info>SOL_TCP</info>, y <info>SOL_UDP</info>
                    correspondientes.
                    
                    Véase <strong>socket_create()</strong> para la lista completa de protocolos soportados.
  <info>array</info>  <strong>$fd</strong>        Referencia a una matriz en la cuál los dos recursos socket serán insertados.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_create()</strong>
   * <strong>socket_create_listen()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_export_stream
type: function
doc:
<comment>Description:</comment>
  Export a socket into a stream that encapsulates a socket
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  

<comment>Return:</comment>
  <info>resource|false</info>  Return resource o <info>false</info> en caso de error.


id: socket_get_option
type: function
doc:
<comment>Description:</comment>
  Obtiene las opciones de socket para el socket
  
  La función <strong>socket_get_option()</strong> recupera el valor de la opción especificada por el parámetro
  <strong>$optname</strong> para el <strong>$socket</strong> especificado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   Un recurso socket válido creado con <strong>socket_create()</strong> o <strong>socket_accept()</strong>.
  <info>int</info>       <strong>$level</strong>    El parámetro <strong>$level</strong> especifica el nivel de protcolo en el que reside la
                      opción. Por ejemplo, para recuperar las opciones al nivel de socket se usaría
                      un parámetro <strong>$level</strong> de <info>SOL_SOCKET</info>. Se puden usar otros niveles como <info>TCP</info>
                      especificando el número de protocolo de ese nivel. Los números de protocolo se
                      pueden averiguar usando la función <strong>getprotobyname()</strong>.
  <info>int</info>       <strong>$optname</strong>  Informa si el <strong>$socket</strong> perdura en <strong>socket_close()</strong> si la información está
                      presente. Por omisión,  cuando el socket se cierra, se intenta enviar toda la
                      información no enviada. En el caso de un socket orientado a conexión,
                      <strong>socket_close()</strong> esperará a su par para admitir la información.
                      
                      Si l_onoff no es cero y l_linger es cero, toda la información no enviada será
                      desechada y se envía RST (reinicio) al par en el caso de un socker orientado a
                      conexión.
                      
                      Por otro lado, si l_onoff no es cero y l_linger no es cero, <strong>socket_close()</strong>
                      bloqueará hasta que toda la información sea enviada o transcurra el tiempo
                      especificado en l_linger. Si el socket es de no-bloqueo, <strong>socket_close()</strong>
                      fallará y devolverá un error.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve el valor de la opción dada, o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_create_listen()</strong>
   * <strong>socket_set_option()</strong>


id: socket_get_status
type: function
doc:
<comment>Description:</comment>
  Alias de stream_get_meta_data
  
  Esta función es un alias de:  <strong>stream_get_meta_data()</strong>.


id: socket_getopt
type: function
doc:
<comment>Description:</comment>
  Alias de socket_get_option
  
  Esta función es un alias de:  <strong>socket_get_option()</strong>.


id: socket_getpeername
type: function
doc:
<comment>Description:</comment>
  Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de
  sistema de archivos Unix, dependiendo de su tipo
  
  Pregunta a la parte remota del socket dado que puede resultar en un host/puerto o en una ruta de
  sistema de archivos Unix, dependiendo de su tipo.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   Un recurso socket válido creado con <strong>socket_create()</strong> o <strong>socket_accept()</strong>.
  <info>string</info>    <strong>$address</strong>  Si el socket dado es de tipo <info>AF_INET</info> o <info>AF_INET6</info>, <strong>socket_getpeername()</strong>
                      devolverá la dirección IP de los pares (remotos) en la notación apropiada
                      (p.ej. <return>127.0.0.1</return> o <return>fe80::1</return>) en el parámetro <strong>$address</strong>, y si el parámetro
                      opcional <strong>$port</strong> está presente, también el puerto asociado.
                      
                      Si el socket dado es de tipo <info>AF_UNIX</info>, <strong>socket_getpeername()</strong> devolverá la ruta
                      del sistema de archivos Unix (p.ej. <return>/var/run/daemon.sock</return>) en el parámetro
                      <strong>$address</strong>.
  <info>int</info>       <strong>$port</strong>     Si se da, contendrá el puerto asociado a <strong>$address</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error. <strong>socket_getpeername()</strong> puede también
        devolver <info>false</info> si el tipo de socket no es ni <info>AF_INET</info>, <info>AF_INET6</info>, ni <info>AF_UNIX</info>, en cuyo caso no
        se actualiza el último código de error de socket.

<comment>See Also:</comment>
   * <strong>socket_getsockname()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_getsockname
type: function
doc:
<comment>Description:</comment>
  Preguntar a la parte local del socket dado que puede resultar en un host/puerto o en una ruta de
  sistema de archivos Unix, dependiendo de su tipo
  
  <strong>socket_getsockname()</strong> no debería usarse con sockets <info>AF_UNIX</info> creados con <strong>socket_connect()</strong>. Sólo los
  sockets creados con <strong>socket_accept()</strong> o con un socket servidor primario seguido de una llamda a
  <strong>socket_bind()</strong> devolverá resultados significativos.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong>  o <strong>socket_accept()</strong>.
  <info>string</info>    <strong>$addr</strong>    Si el socket dado es de tipo <info>AF_INET</info> o <info>AF_INET6</info>, <strong>socket_getsockname()</strong> devolverá
                     la dirección IP local en la notación apropiada (p.ej. <return>127.0.0.1</return> o <return>fe80::1</return>) en
                     el parámetro <strong>$address</strong>, y si el parámetro opcional <strong>$port</strong> está presente, tmbién
                     el puerto asociado.
                     
                     Si el socket dado es de tipo <info>AF_UNIX</info>, <strong>socket_getsockname()</strong> devolverá la ruta
                     del sistema de archivos Unix (p.ej. <return>/var/run/daemon.sock</return>) en el parámetro
                     <strong>$address</strong>.
  <info>int</info>       <strong>$port</strong>    Si se proporciona, contendrá el puerto asociado.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error. <strong>socket_getsockname()</strong> también puede
        devolver <info>false</info> si el tipo de socket no de tipo <info>AF_INET</info>, <info>AF_INET6</info>, o <info>AF_UNIX</info>, en cuyo caso no
        se actualiza el último código de error de socket.

<comment>See Also:</comment>
   * <strong>socket_getpeername()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_import_stream
type: function
doc:
<comment>Description:</comment>
  Importar un flujo a stream
  
  Importa un flujo que encapsula un socket en un recurso de extensión de socket.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  El recurso de socket a importar.

<comment>Return:</comment>
  <info>resource</info>  Devuelve <info>false</info> o <info>null</info> en caso de fallo.

<comment>See Also:</comment>
   * <strong>stream_socket_server()</strong>


id: socket_last_error
type: function
doc:
<comment>Description:</comment>
  Devuelve el último error sobre un socket
  
  Si un recurso socket es pasado a esta función, devuelve el último error que ocurrió en este socket
  en particular. Si el recurso socket se omite, devuelve el código de error de la última función de
  socket que falló. El segundo es particularmente útil para funciones como <strong>socket_create()</strong> que no
  devuelve un socket en caso de error y <strong>socket_select()</strong> que puede fallar por razones no directamente
  vinculadas con un socket en particular. El código de error es apropiado para ser introducido en
  <strong>socket_strerror()</strong>, que devuelve una cadena describiendo el código de error dado.
  
  Si no se hubiera producido ningún error, o el error se hubiera eliminado con <strong>socket_clear_error()</strong>,
  la función devuelve <return>0</return>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong>.

<comment>Return:</comment>
  <info>int</info>  Esta función devuelve un código de error de un socket.


id: socket_listen
type: function
doc:
<comment>Description:</comment>
  Escucha una conexión sobre un socket
  
  Después de que el socket <strong>$socket</strong> haya sido creado usando <strong>socket_create()</strong> y vinculado a un nombre
  con <strong>socket_bind()</strong>, se le puede indicar que escuche conexiones entrantes sobre <strong>$socket</strong>.
  
  <strong>socket_listen()</strong> sólo es aplicable a sockets de tipo <info>SOCK_STREAM</info> o <info>SOCK_SEQPACKET</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   Un recurso socket creado con <strong>socket_create()</strong> o <strong>socket_addrinfo_bind()</strong>
  <info>int</info>       <strong>$backlog</strong>  Se pondrán en cola un máximo de conexiones entrantes <strong>$backlog</strong> para su
                      procesamiento. Si una petición de conexión llega con la cola llena, el cliente
                      puede recibir un error con una indicación de <return>ECONNREFUSED</return>, o, si el protocolo
                      subyacente soporta retransmisiones, la petición puede ser ignorada, por lo que
                      este reintento puede surtir efecto.
                      
                      El número máximo pasado al parámtro <strong>$backlog</strong> depende mayormente en la
                      plataforma subyacente. En Linux, se trunca de forma silenciosa a <info>SOMAXCONN</info>. En
                      win32, Si se pasó <info>SOMAXCONN</info>, el proveedor del servicio responsable del socket
                      establecerá el backlog a un valor máximo razonable. No existe una disposicón
                      estándar para encontrar el valor del backlog real en esta plataforma.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error. El código de error real se puede
        recuperar llamando a <strong>socket_last_error()</strong>. Este código se puede pasar a <strong>socket_strerror()</strong>
        para obtener una explicación textual del error.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_strerror()</strong>
   * <strong>socket_addrinfo_bind()</strong>


id: socket_read
type: function
doc:
<comment>Description:</comment>
  Lee un máximo de longitud de bytes desde un socket
  
  La función <strong>socket_read()</strong> lee desde un recurso socket <strong>$socket</strong> creado por las funciones
  <strong>socket_create()</strong> o <strong>socket_accept()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong> o <strong>socket_accept()</strong>.
  <info>int</info>       <strong>$length</strong>  El número máximo de bytes leidos es especificado por el parámetro <strong>$length</strong>. Por
                     lo demás se puede usar <info>\r</info>, <info>\n</info>, o <info>\0</info> para finalizar la lectura (dependiendo del
                     parámetro <strong>$type</strong>, véase abajo).
  <info>int</info>       <strong>$type</strong>    El parámetro opcional <strong>$type</strong> es una constante nominada: <info>PHP_BINARY_READ</info>
                     (Predeterminada) - usa la función del sistema <return>recv()</return>. Segura para la lectura de
                     información binaria. <info>PHP_NORMAL_READ</info> - la lectura se detiene en <return>\n</return> o <return>\r</return>.
                     
                     <info>PHP_BINARY_READ</info> (Predeterminada) - usa la función del sistema <return>recv()</return>. Segura
                     para la lectura de información binaria.
                     
                     <info>PHP_NORMAL_READ</info> - la lectura se detiene en <return>\n</return> o <return>\r</return>.

<comment>Return:</comment>
  <info>string</info>  <strong>socket_read()</strong> devuelve la información como cadena en caso de éxito, o <info>false</info> en caso de
          error (incluyendo si el host remoto cerró la conexión). El código de error real se puede
          recuperar llamando a <strong>socket_last_error()</strong>. Este código se puede pasar a <strong>socket_strerror()</strong>
          para obtener una explicación textual del error.
          
          <strong>socket_read()</strong> devuelve una cadena de longitud cero ("") cuando no hay más información que
          leer.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>
   * <strong>socket_write()</strong>


id: socket_recv
type: function
doc:
<comment>Description:</comment>
  Recibe información desde un socket conectado
  
  La función <strong>socket_recv()</strong> recibe <strong>$len</strong> bytes de información en <strong>$buf</strong> desde <strong>$socket</strong>. <strong>socket_recv()</strong> se
  puede usar para reunir información desde sockets conectados. Además, se pueden especificar una o
  más banderas para modificar el comportamiento de la función.
  
  <strong>$buf</strong> es pasado por referencia, por lo que debe ser especificado como una variable en la lista de
  argumentos. La información leída desde <strong>$socket</strong> por <strong>socket_recv()</strong> será devuelta en <strong>$buf</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  <strong>$socket</strong> debe ser un recurso socket previamente creado por socket_create().
  <info>string</info>    <strong>$buf</strong>     La información recibida será traida a la variable especifivada por <strong>$buf</strong>. Si
                     ocurre un error, si la conexión es reiniciada, o si no hay información
                     disponible, <strong>$buf</strong> será establecido a <info>null</info>.
  <info>int</info>       <strong>$len</strong>     Se obtendrán hasta <strong>$len</strong> bytes desde el host remoto.
  <info>int</info>       <strong>$flags</strong>   El valor de <strong>$flags</strong> puede ser una combinación de las siguientes banderas, unidas
                     con el operador binario OR (<return>|</return>).

<comment>Return:</comment>
  <info>int</info>  <strong>socket_recv()</strong> devuelve el número de bytes recibidos, o <info>false</info> si hubo un error. El código de
       error real se puede recuperar llamando a <strong>socket_last_error()</strong>. Este código de error se puede
       pasar a <strong>socket_strerror()</strong> para obtener una explicación textual del error.


id: socket_recvfrom
type: function
doc:
<comment>Description:</comment>
  Recibe información desde un socket que esté o no orientado a conexión
  
  La función <strong>socket_recvfrom()</strong> recibe <strong>$len</strong> bytes de información en <strong>$buf</strong> desde <strong>$name</strong> en el puerto
  <strong>$port</strong> (si el socket no es del tipo <info>AF_UNIX</info>) usando <strong>$socket</strong>. <strong>socket_recvfrom()</strong> se puede usar para
  reunir información tanto desde socket conectados como de no conectados. Además, se pueden
  especificar una o más banderas para modificar el comportamiento de la función.
  
  <strong>$name</strong> y <strong>$port</strong> deben ser pasados por referencia. Si el socket no está orientado a conexión, <strong>$name</strong>
  será establecido a la dirección del protocolo de internet del host remoto o a la ruta del socket
  UNIX. Si el socket está orientado a conxión, <strong>$name</strong> es <info>null</info>. Además, <strong>$port</strong> contendrá el puerto del
  host remoto en el caso de un socket <info>AF_INET</info> o <info>AF_INET6</info> no conectado.
  
  Esta función es
  segura binariamente.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  <strong>$socket</strong> debe ser un recurso socket previamente creado por socket_create().
  <info>string</info>    <strong>$buf</strong>     La información recibida será recuperada a la variable especificada por <strong>$buf</strong>.
  <info>int</info>       <strong>$len</strong>     Se obtendrán hasta <strong>$len</strong> bytes desde el host remoto.
  <info>int</info>       <strong>$flags</strong>   El valor de <strong>$flags</strong> puede ser una combinación de las siguientes banderas, unidas
                     con el operador binario OR (<return>|</return>).
  <info>string</info>    <strong>$name</strong>    Si el socket es de tipo <info>AF_UNIX</info>, <strong>$name</strong> es la ruta del archivo. Por lo demás,
                     para sockets no conectados, <strong>$name</strong> es la dirección IP del host remoto, o <info>null</info> si
                     el socket está orientado a conexion.
  <info>int</info>       <strong>$port</strong>    Este argumento sólo se aplica a sockets <info>AF_INET</info> y <info>AF_INET6</info>, y especifica el
                     puerto remoto desde el que la información es recibida. Si el socket está
                     orientado a conexión, <strong>$port</strong> será <info>null</info>.

<comment>Return:</comment>
  <info>int</info>  <strong>socket_recvfrom()</strong> devuelve el número de bytes recibidos, o <info>false</info> si hubo un error. El código
       de error real se puede recuperar llamando a <strong>socket_last_error()</strong>. Este código de error se
       puede pasar a <strong>socket_strerror()</strong> para obtener una explicación textual del error.

<comment>See Also:</comment>
   * <strong>socket_recv()</strong>
   * <strong>socket_send()</strong>
   * <strong>socket_sendto()</strong>
   * <strong>socket_create()</strong>


id: socket_recvmsg
type: function
doc:
<comment>Description:</comment>
  Leer un mensaje
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   
  <info>array</info>     <strong>$message</strong>  
  <info>int</info>       <strong>$flags</strong>    

<comment>Return:</comment>
  <info>int</info>  

<comment>See Also:</comment>
   * <strong>socket_sendmsg()</strong>
   * <strong>socket_cmsg_space()</strong>


id: socket_select
type: function
doc:
<comment>Description:</comment>
  Ejecuta la llamada a select() del sistema sobre las matrices de sockets dadas con un tiempo límite
  especificado
  
  <strong>socket_select()</strong> acepta matrices de sockets y las espera para cambiar el estado. Aquellas que
  vienen con un fondo de sockets BSD reconocerán que aquellas matrices de recursos socket son de
  hecho los también llamados conjuntos descriptores de archivos. Se observan tres matrices de
  recursos socket independientes.

<comment>Param:</comment>
  <info>array</info>  <strong>$read</strong>     Los sockets listados en la matriz <strong>$read</strong> serán observados para ver si los
                   caracteres están disponibles para lectura (más precisamente, para ver si una
                   lectura no bloqueará - en particular, un recurso socket también está listo al
                   final del archivo, en cuyo caso un <strong>socket_read()</strong> devolverá una cadena de longitud
                   cero).
  <info>array</info>  <strong>$write</strong>    Los sockets listados en la matriz <strong>$write</strong> serán observados para ver si una
                   escritura no bloqueará.
  <info>array</info>  <strong>$except</strong>   Los sockets listados en la matriz <strong>$except</strong> serán observados para excepciones.
  <info>int</info>    <strong>$tv_sec</strong>   <strong>$tv_sec</strong> y <strong>$tv_usec</strong> forman juntos el parámetros <return>timeout</return>. <return>timeout</return> es un límite
                   superior de la cantidad de tiempo trancurrido antes de que <strong>socket_select()</strong>
                   devuelva. <strong>$tv_sec</strong> puede ser cero, causando que <strong>socket_select()</strong> devuelva
                   inmediatamente. Esto es útil para consultas constantes (polling). Si <strong>$tv_sec</strong> es
                   <info>null</info> (sin tiempo línmite), <strong>socket_select()</strong> puede bloquear indefinidamente.
  <info>int</info>    <strong>$tv_usec</strong>  

<comment>Return:</comment>
  <info>int</info>  En caso de éxtio, <strong>socket_select()</strong> devuelve el número de recursos socket contenidos en las
       matrices modificadas, lo que puede ser cero si el tiempo límite expira antes de que ocurra
       algo interesante. En caso de error se devuelve <info>false</info>. El código de error se puede recuperar
       con <strong>socket_last_error()</strong>.
       
       Asegúrese de usar el operador <return>===</return> cuando verifique un error. Ya que <strong>socket_select()</strong> puede
       devolver 0 la comparación con <return>==</return> será evaluada a <info>true</info>: Comprender el resultado de
       <strong>socket_select()</strong>
       ]]>

<comment>See Also:</comment>
   * <strong>socket_read()</strong>
   * <strong>socket_write()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_send
type: function
doc:
<comment>Description:</comment>
  Envía información a un socket conectado
  
  La función <strong>socket_send()</strong> envía <strong>$len</strong> bytes al socket <strong>$socket</strong> desde <strong>$buf</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong> o <strong>socket_accept()</strong>.
  <info>string</info>    <strong>$buf</strong>     Un buffer que contiene la información que será enviada al host remoto.
  <info>int</info>       <strong>$len</strong>     El número de bytes que serán enviados al host remoto desde <strong>$buf</strong>.
  <info>int</info>       <strong>$flags</strong>   El valor de <strong>$flags</strong> puede ser cualquier combinación de las siguientes banderas,
                     unidas con el operador binario OR (<return>|</return>). Valores posibles de <strong>$flags</strong><info>MSG_OOB</info> Enviar
                     información OOB (fuera de banda). <info>MSG_EOR</info> Indicar una marca de registro. La
                     información enviada completa el registro. <info>MSG_EOF</info> Cerra la parte enviadora del
                     socket e incluir una notificación apropiada de éste al final de la información
                     enviada. La información enviada completa la transacción. <info>MSG_DONTROUTE</info> Evitar
                     la ruta, usar la interfaz directa.

<comment>Return:</comment>
  <info>int</info>  <strong>socket_send()</strong> devuelve el número de bytes enviados, o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_sendto()</strong>


id: socket_sendmsg
type: function
doc:
<comment>Description:</comment>
  Enviar un mensaje
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   
  <info>array</info>     <strong>$message</strong>  
  <info>int</info>       <strong>$flags</strong>    

<comment>Return:</comment>
  <info>int</info>  Devuelve el número de bytes enviados,  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_recvmsg()</strong>
   * <strong>socket_cmsg_space()</strong>


id: socket_sendto
type: function
doc:
<comment>Description:</comment>
  Envía un mensaje a un socket, ya esté conectado o no
  
  La función <strong>socket_sendto()</strong> envía <strong>$len</strong> bytes desde <strong>$buf</strong> a través del socket <strong>$socket</strong> al puerto <strong>$port</strong>
  en la dirección <strong>$addr</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado usando <strong>socket_create()</strong>.
  <info>string</info>    <strong>$buf</strong>     La información enviada será tomada desde el buffer <strong>$buf</strong>.
  <info>int</info>       <strong>$len</strong>     Se enviarán <strong>$len</strong> bytes desde <strong>$buf</strong>.
  <info>int</info>       <strong>$flags</strong>   El valor de <strong>$flags</strong> puede ser una combinación de las siguientes banderas, unidas
                     con el operador binario OR (<return>|</return>). Valores posibles de <strong>$flags</strong><info>MSG_OOB</info> Enviar
                     información OOB (fuera de banda). <info>MSG_EOR</info> Indicar una marca de registro. La
                     información enviada completa el registro. <info>MSG_EOF</info> Cerra la parte enviadora del
                     socket e incluir una notificación apropiada de éste al final de la información
                     enviada. La información enviada completa la transacción. <info>MSG_DONTROUTE</info> Evitar
                     la ruta, usar la interfaz directa.
  <info>string</info>    <strong>$addr</strong>    La dirección IP del host remoto.
  <info>int</info>       <strong>$port</strong>    <strong>$port</strong> es el número de puerto remoto al que se enviará la información.

<comment>Return:</comment>
  <info>int</info>  <strong>socket_sendto()</strong> devuelve el número de bytes enviados al host remoto, o <info>false</info> si ocurrió un
       error.

<comment>See Also:</comment>
   * <strong>socket_send()</strong>


id: socket_set_block
type: function
doc:
<comment>Description:</comment>
  Establece el modo de bloqueo de un recurso socket
  
  La función <strong>socket_set_block()</strong> elimina la bandera <info>O_NONBLOCK</info> del socket especificado por el
  parámetro <strong>$socket</strong>.
  
  Cuando una operación (p.ej. recibir, enviar, conectar, aceptar, ...) se lleva a cabo sobre un
  socket de bloqueo, el script pausará su ejecución hasta que reciba una señal o pueda realizar la
  operación.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong> o <strong>socket_accept()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_set_nonblock()</strong>
   * <strong>socket_set_option()</strong>


id: socket_set_blocking
type: function
doc:
<comment>Description:</comment>
  Alias de stream_set_blocking
  
  Esta función es un alias de:  <strong>stream_set_blocking()</strong>.


id: socket_set_nonblock
type: function
doc:
<comment>Description:</comment>
  Establece el modo de no-bloqueo para el descriptor de archivo fd
  
  La funciòn <strong>socket_set_nonblock()</strong> establece la bandera <info>O_NONBLOCK</info> en el socket especificado por el
  parámetro <strong>$socket</strong>.
  
  Cuando una operación (p.ej. recibir, enviar, conectar, aceptar, ...) se lleva a cabo sobre un
  socket de no-bloqueo, el script no pausará su ejecución hasta que reciba una señal o pueda
  realizar la operación. Más bien, si la operacion resultaría en un bloqueo, la llamada a la función
  fallará.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong> o <strong>socket_accept()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_set_block()</strong>
   * <strong>socket_set_option()</strong>
   * <strong>stream_set_blocking()</strong>


id: socket_set_option
type: function
doc:
<comment>Description:</comment>
  Establece las opciones de socket para el socket
  
  La función <strong>socket_set_option()</strong> establece la opción especificada por el parámetro <strong>$optname</strong>, al
  nivel (<strong>$level</strong>) del protocolo especificado, al valor apuntado por el parámetro <strong>$optval</strong> para el
  <strong>$socket</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   Un recurso socket válido creado con <strong>socket_create()</strong> o <strong>socket_accept()</strong>.
  <info>int</info>       <strong>$level</strong>    El parámetro <strong>$level</strong> especifica el nivel de protocolo en el que reside la
                      opción. Por ejemplo, para recuperar opciones a nivel de socket, se debería
                      usar un parámetro <strong>$level</strong> de <info>SOL_SOCKET</info>. Otros niveles, como TCP, se pueden
                      usar para especificar el número de protocolo de ese nivel.  Los números de
                      protocolo se pueden encontrar usando la función <strong>getprotobyname()</strong>.
  <info>int</info>       <strong>$optname</strong>  Las opciones de socket dispobibles son las mismas que las de la función
                      <strong>socket_get_option()</strong>.
  <info>mixed</info>     <strong>$optval</strong>   El valor opcional.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_create()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_strerror()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_get_option()</strong>


id: socket_set_timeout
type: function
doc:
<comment>Description:</comment>
  Alias de stream_set_timeout
  
  Esta función es un alias de:  <strong>stream_set_timeout()</strong>.


id: socket_setopt
type: function
doc:
<comment>Description:</comment>
  Alias de socket_set_option
  
  Esta función es un alias de:  <strong>socket_set_option()</strong>.


id: socket_shutdown
type: function
doc:
<comment>Description:</comment>
  Cierra un socket para dejar de recibir, enviar, o ambos
  
  La función <strong>socket_shutdown()</strong> permite detener la entrada y salida de toda la información (lo
  predeterminado) que está siendo enviada a través del <strong>$socket</strong>
  
  El búfer o búferes podrían o no estar vaciados.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  Un recurso socket válido creado con <strong>socket_create()</strong>.
  <info>int</info>       <strong>$how</strong>     El valor de <strong>$how</strong> puede ser uno de los siguientes: Valores posibles de <strong>$how</strong><return>0</return>
                     Cierra el socket para dejar de leer <return>1</return> Cierra el socket para dejar de escribir <return>2</return>
                     Cierra el socket para dejar de leer y escribir

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: socket_strerror
type: function
doc:
<comment>Description:</comment>
  Devuelve una cadena que describe un error de socket
  
  <strong>socket_strerror()</strong> toma su parámetro <strong>$errno</strong> como un código de error de socket devuelto por
  <strong>socket_last_error()</strong> y devuelve el correspondiente texto explicativo.
  
  Aunque los mensajes de error generados por la extensión socket están en inglés, los mensajes del
  sistema recupeardos con esta función aparecerán depenediendo de la configuración regional
  (<info>LC_MESSAGES</info>).

<comment>Param:</comment>
  <info>int</info>  <strong>$errno</strong>  Un número de error de socket válido, como los producidos por <strong>socket_last_error()</strong>.

<comment>Return:</comment>
  <info>string</info>  Devuelve el mensaje de error asociado con el parámetro <strong>$errno</strong>.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>


id: socket_write
type: function
doc:
<comment>Description:</comment>
  Escribir en un socket
  
  La función <strong>socket_write()</strong> escribe en el <strong>$socket</strong> desde el <strong>$buffer</strong> dado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  
  <info>string</info>    <strong>$buffer</strong>  El buffer a ser escrito.
  <info>int</info>       <strong>$length</strong>  El parámetro opcional <strong>$length</strong> puede especificar una longitud alternativa de
                     bytes escritos en el socket. Si esta longitud es mayor que la longitud del
                     buffer se trunca de forma silenciosa a la longitud del buffer.

<comment>Return:</comment>
  <info>int</info>  Devuelve el número de bytes escritos con éxito en el socket  o <info>false</info> en caso de error. El
       código de error se puede recuperar con <strong>socket_last_error()</strong>. Este código se puede pasar a
       <strong>socket_strerror()</strong> para obtener una explicación textual del error.
       
       Es perfectamente válido que <strong>socket_write()</strong> devuelva cero, lo que significa que no se han
       escrito bytes. Asegúrese de usar el operador <return>===</return> para verificar <info>false</info> en caso de un error.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_read()</strong>
   * <strong>socket_strerror()</strong>


id: socket_wsaprotocol_info_export
type: function
doc:
<comment>Description:</comment>
  Exports the WSAPROTOCOL_INFO Structure
  
  Exports the <return>WSAPROTOCOL_INFO</return> structure into shared memory and returns an identifier to be used
  with <strong>socket_wsaprotocol_info_import()</strong>. The exported ID is only valid for the given <strong>$process_id</strong>.
  
  This function is available only on Windows.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>      A <class>Socket</class> instance.
  <info>int</info>     <strong>$process_id</strong>  The ID of the process which will import the socket.

<comment>Return:</comment>
  <info>string|false</info>  Returns an identifier to be used for the import,  o <info>false</info> en caso de error

<comment>See Also:</comment>
   * <strong>socket_wsaprotocol_info_import()</strong>
   * <strong>socket_wsaprotocol_info_release()</strong>


id: socket_wsaprotocol_info_import
type: function
doc:
<comment>Description:</comment>
  Imports a Socket from another Process
  
  Imports a socket which has formerly been exported from another process.
  
  This function is available only on Windows.

<comment>Param:</comment>
  <info>string</info>  <strong>$info_id</strong>  The ID which has been returned by a former call to
                    <strong>socket_wsaprotocol_info_export()</strong>.

<comment>Return:</comment>
  <info>Socket|false</info>  Returns a <class>Socket</class> instance on success,  o <info>false</info> en caso de error

<comment>See Also:</comment>
   * <strong>socket_wsaprotocol_info_export()</strong>


id: socket_wsaprotocol_info_release
type: function
doc:
<comment>Description:</comment>
  Releases an exported WSAPROTOCOL_INFO Structure
  
  Releases the shared memory corresponding to the given <strong>$info_id</strong>.
  
  This function is available only on Windows.

<comment>Param:</comment>
  <info>string</info>  <strong>$info_id</strong>  The ID which has been returned by a former call to
                    <strong>socket_wsaprotocol_info_export()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>socket_wsaprotocol_info_export()</strong>


id: sodium_add
type: function
doc:
<comment>Description:</comment>
  Add large numbers
  
  This adds the parameter <strong>$string2</strong> to <strong>$string1</strong>, overwriting the value stored in <strong>$string1</strong>. This
  function assumes both parameters are binary strings that represent unsigned integers in
  little-endian byte order.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  String representing an arbitrary-length unsigned integer in little-endian byte
                    order. This parameter is passed by reference and will hold the sum of the two
                    parameters.
  <info>string</info>  <strong>$string2</strong>  String representing an arbitrary-length unsigned integer in little-endian byte
                    order.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: sodium_base642bin
type: function
doc:
<comment>Description:</comment>
  Decodes a base64-encoded string into raw binary.
  
  Converts a base64 encoded string into raw binary. Unlike <strong>base64_decode()</strong>, <strong>sodium_base642bin()</strong> is
  constant-time (a property that is important for any code that touches cryptographic inputs, such
  as plaintexts or keys) and supports multiple character sets.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  <info>string</info>; Encoded string.
  <info>int</info>     <strong>$id</strong>      <info>SODIUM_BASE64_VARIANT_ORIGINAL</info> for standard (<return>A-Za-z0-9/\+</return>) Base64 encoding.
                   <info>SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING</info> for standard (<return>A-Za-z0-9/\+</return>) Base64
                   encoding, without <return>=</return> padding characters. <info>SODIUM_BASE64_VARIANT_URLSAFE</info> for
                   URL-safe (<return>A-Za-z0-9\-_</return>) Base64 encoding. <info>SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING</info>
                   for URL-safe (<return>A-Za-z0-9\-_</return>) Base64 encoding, without <return>=</return> padding characters.
  <info>string</info>  <strong>$ignore</strong>  Characters to ignore when decoding (e.g. whitespace characters).

<comment>Return:</comment>
  <info>string</info>  Decoded string.


id: sodium_bin2base64
type: function
doc:
<comment>Description:</comment>
  Encodes a raw binary string with base64.
  
  Converts a raw binary string into a base64-encoded string. Unlike <strong>base64_encode()</strong>,
  <strong>sodium_bin2base64()</strong> is constant-time (a property that is important for any code that touches
  cryptographic inputs, such as plaintexts or keys) and supports multiple character sets.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Raw binary string.
  <info>int</info>     <strong>$id</strong>      <info>SODIUM_BASE64_VARIANT_ORIGINAL</info> for standard (<return>A-Za-z0-9/\+</return>) Base64 encoding.
                   <info>SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING</info> for standard (<return>A-Za-z0-9/\+</return>) Base64
                   encoding, without <return>=</return> padding characters. <info>SODIUM_BASE64_VARIANT_URLSAFE</info> for
                   URL-safe (<return>A-Za-z0-9\-_</return>) Base64 encoding. <info>SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING</info>
                   for URL-safe (<return>A-Za-z0-9\-_</return>) Base64 encoding, without <return>=</return> padding characters.

<comment>Return:</comment>
  <info>string</info>  Base64-encoded string.


id: sodium_bin2hex
type: function
doc:
<comment>Description:</comment>
  Encode to hexadecimal
  
  Converts a raw binary string into a hex-encoded string. Unlike the standard hex-encoding function,
  <strong>sodium_bin2hex()</strong> is constant-time (a property that is important for any code that touches
  cryptographic inputs, such as plaintexts or keys).

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Raw binary string.

<comment>Return:</comment>
  <info>string</info>  Hex encoded string.


id: sodium_compare
type: function
doc:
<comment>Description:</comment>
  Compare large numbers
  
  Compare two strings as if they were arbitrary-length, unsigned little-endian integers, without
  side-channel leakage.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  Left operand
  <info>string</info>  <strong>$string2</strong>  Right operand

<comment>Return:</comment>
  <info>int</info>  Returns <return>-1</return> if <strong>$string1</strong> is less than <strong>$string2</strong>.
       
       Returns <return>1</return> if <strong>$string1</strong> is greater than <strong>$string2</strong>.
       
       Returns <return>0</return> if both strings are equal.


id: sodium_crypto_aead_aes256gcm_decrypt
type: function
doc:
<comment>Description:</comment>
  Verify then decrypt a message with AES-256-GCM
  
  Verify then decrypt with AES-256-GCM. Only available if
  <strong>sodium_crypto_aead_aes256gcm_is_available()</strong> returns <info>true</info>.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>       Must be in the format provided by <strong>sodium_crypto_aead_aes256gcm_encrypt()</strong>
                            (ciphertext and tag, concatenated).
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 12 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext on success,  o <info>false</info> en caso de error.


id: sodium_crypto_aead_aes256gcm_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt then authenticate with AES-256-GCM
  
  Encrypt then authenticate with AES-256-GCM. Only available if
  <strong>sodium_crypto_aead_aes256gcm_is_available()</strong> returns <info>true</info>.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>          The plaintext message to encrypt.
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 12 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the ciphertext and authentication tag as a string of raw binary bytes. (Format:
          ciphertext, then tag.)


id: sodium_crypto_aead_aes256gcm_is_available
type: function
doc:
<comment>Description:</comment>
  Check if hardware supports AES256-GCM
  
  The return value of this function depends on whether or not the hardware supports
  hardware-accelerated AES.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if it is safe to encrypt with AES-256-GCM, and <info>false</info> otherwise.


id: sodium_crypto_aead_aes256gcm_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random AES-256-GCM key
  
  Generate a random key for use with <strong>sodium_crypto_aead_aes256gcm_encrypt()</strong> and
  <strong>sodium_crypto_aead_aes256gcm_decrypt()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_aead_chacha20poly1305_decrypt
type: function
doc:
<comment>Description:</comment>
  Verify then decrypt with ChaCha20-Poly1305
  
  Verify then decrypt with ChaCha20-Poly1305.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>       Must be in the format provided by
                            <strong>sodium_crypto_aead_chacha20poly1305_encrypt()</strong> (ciphertext and tag,
                            concatenated).
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 8 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext on success,  o <info>false</info> en caso de error.


id: sodium_crypto_aead_chacha20poly1305_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt then authenticate with ChaCha20-Poly1305
  
  Encrypt then authenticate with ChaCha20-Poly1305.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>          The plaintext message to encrypt.
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 8 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the ciphertext and tag on success,  o <info>false</info> en caso de error.


id: sodium_crypto_aead_chacha20poly1305_ietf_decrypt
type: function
doc:
<comment>Description:</comment>
  Verify that the ciphertext includes a valid tag
  
  Verify then decrypt with ChaCha20-Poly1305 (IETF variant).
  
  The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>       Must be in the format provided by
                            <strong>sodium_crypto_aead_chacha20poly1305_ietf_encrypt()</strong> (ciphertext and tag,
                            concatenated).
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 12 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext on success,  o <info>false</info> en caso de error.


id: sodium_crypto_aead_chacha20poly1305_ietf_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt a message
  
  Encrypt then authenticate with ChaCha20-Poly1305 (IETF variant).
  
  The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>          The plaintext message to encrypt.
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 12 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the ciphertext and tag on success,  o <info>false</info> en caso de error.


id: sodium_crypto_aead_chacha20poly1305_ietf_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random ChaCha20-Poly1305 (IETF) key.
  
  Generate a random key for use with <strong>sodium_crypto_aead_chacha20poly1305_ietf_encrypt()</strong> and
  <strong>sodium_crypto_aead_chacha20poly1305_ietf_decrypt()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_aead_chacha20poly1305_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random ChaCha20-Poly1305 key.
  
  Generate a random key for use with <strong>sodium_crypto_aead_chacha20poly1305_encrypt()</strong> and
  <strong>sodium_crypto_aead_chacha20poly1305_decrypt()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_aead_xchacha20poly1305_ietf_decrypt
type: function
doc:
<comment>Description:</comment>
  (Preferred) Verify then decrypt with XChaCha20-Poly1305
  
  Verify then decrypt with ChaCha20-Poly1305 (eXtended-nonce variant).
  
  Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>       Must be in the format provided by
                            <strong>sodium_crypto_aead_chacha20poly1305_ietf_encrypt()</strong> (ciphertext and tag,
                            concatenated).
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 24 bytes long. This
                            is a large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext on success,  o <info>false</info> en caso de error.


id: sodium_crypto_aead_xchacha20poly1305_ietf_encrypt
type: function
doc:
<comment>Description:</comment>
  (Preferred) Encrypt then authenticate with XChaCha20-Poly1305
  
  Encrypt then authenticate with XChaCha20-Poly1305 (eXtended-nonce variant).
  
  Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>          The plaintext message to encrypt.
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 24 bytes long. This
                            is a large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the ciphertext and tag on success,  o <info>false</info> en caso de error.


id: sodium_crypto_aead_xchacha20poly1305_ietf_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random XChaCha20-Poly1305 key.
  
  Generate a random key for use with <strong>sodium_crypto_aead_xchacha20poly1305_ietf_encrypt()</strong> and
  <strong>sodium_crypto_aead_xchacha20poly1305_ietf_decrypt()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_auth
type: function
doc:
<comment>Description:</comment>
  Compute a tag for the message
  
  Symmetric message authentication via <strong>sodium_crypto_auth()</strong> provides integrity, but not
  confidentiality.
  
  Unlike with digital signatures (e.g. <strong>sodium_crypto_sign_detached()</strong>), any party capable of
  verifying a message is also capable of authenticating their own messages. (Hence, symmetric
  authentication.)

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message you intend to authenticate
  <info>string</info>  <strong>$key</strong>      Authentication key

<comment>Return:</comment>
  <info>string</info>  Authentication tag


id: sodium_crypto_auth_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random key for sodium_crypto_auth
  
  Generate a key for use with <strong>sodium_crypto_auth()</strong> and <strong>sodium_crypto_auth_verify()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_auth_verify
type: function
doc:
<comment>Description:</comment>
  Verifies that the tag is valid for the message
  
  Verify the authentication tag is valid for a given message and key.
  
  Unlike with digital signatures (e.g. <strong>sodium_crypto_sign_verify_detached()</strong>), any party capable of
  verifying a message is also capable of authenticating their own messages. (Hence, symmetric
  authentication.)

<comment>Param:</comment>
  <info>string</info>  <strong>$mac</strong>      Authentication tag produced by <strong>sodium_crypto_auth()</strong>
  <info>string</info>  <strong>$message</strong>  Message
  <info>string</info>  <strong>$key</strong>      Authentication key

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: sodium_crypto_box
type: function
doc:
<comment>Description:</comment>
  Authenticated public-key encryption
  
  Encrypt a message using asymmetric (public key) cryptography.
  
  The algorithm used by functions prefixed with <strong>sodium_crypto_box()</strong> are Elliptic Curve
  Diffie-Hellman over the Montgomery curve, Curve25519; usually abbreviated as X25519.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>   The message to be encrypted.
  <info>string</info>  <strong>$nonce</strong>     A number that must be only used once, per message. 24 bytes long. This is a
                     large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key_pair</strong>  See <strong>sodium_crypto_box_keypair_from_secretkey_and_publickey()</strong>. This should
                     include the sender's X25519 secret key and the recipient's X25519 public key.

<comment>Return:</comment>
  <info>string</info>  Returns the encrypted message (ciphertext plus authentication tag). The ciphertext will be
          16 bytes longer than the plaintext, and a raw binary string. See <strong>sodium_bin2base64()</strong> for
          safe encoding for storage.


id: sodium_crypto_box_keypair
type: function
doc:
<comment>Description:</comment>
  Randomly generate a secret key and a corresponding public key
  
  Generates a secret key and a public key as one string.
  
  To get the secret key out of this unified keypair string, see <strong>sodium_crypto_box_secretkey()</strong>. To
  get the public key out of this unified keypair string, see <strong>sodium_crypto_box_publickey()</strong>.

<comment>Return:</comment>
  <info>string</info>  One string containing both the X25519 secret key and corresponding X25519 public key.


id: sodium_crypto_box_keypair_from_secretkey_and_publickey
type: function
doc:
<comment>Description:</comment>
  Create a unified keypair string from a secret key and public key
  
  This function exists to satisfy the API requirements of e.g. <strong>crypto_box()</strong>. Pass in one party's
  secret key and the other's public key, and you will obtain a "keypair" for your conversation.

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  Secret key.
  <info>string</info>  <strong>$public_key</strong>  Public key.

<comment>Return:</comment>
  <info>string</info>  X25519 Keypair.


id: sodium_crypto_box_open
type: function
doc:
<comment>Description:</comment>
  Authenticated public-key decryption
  
  Decrypt a message using asymmetric (public key) cryptography.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>  The encrypted message to attempt to decrypt.
  <info>string</info>  <strong>$nonce</strong>       A number that must be only used once, per message. 24 bytes long. This is a
                       large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key_pair</strong>    See <strong>sodium_crypto_box_keypair_from_secretkey_and_publickey()</strong>. This should
                       include the sender's public key and the recipient's secret key.

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext message on success,  o <info>false</info> en caso de error.


id: sodium_crypto_box_publickey
type: function
doc:
<comment>Description:</comment>
  Extract the public key from a crypto_box keypair
  
  Given a keypair, fetch only the public key.

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  A keypair, such as one generated by <strong>sodium_crypto_box_keypair()</strong> or
                     <strong>sodium_crypto_box_seed_keypair()</strong>

<comment>Return:</comment>
  <info>string</info>  X25519 public key.


id: sodium_crypto_box_publickey_from_secretkey
type: function
doc:
<comment>Description:</comment>
  Calculate the public key from a secret key
  
  Given a secret key, calculate the corresponding public key.
  
  This only works with the type of keys intended for use with <strong>crypto_box()</strong> (which uses Elliptic
  Curve Diffie-Hellman over the Montgomery curve, Curve25519; abbreviated as X25519), not
  <strong>crypto_sign()</strong> (which uses Edwards Digital Signature Algorithm over the Edwards Curve with the
  corresponding paramaters; abbreviated Ed25519).

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  X25519 secret key

<comment>Return:</comment>
  <info>string</info>  X25519 public key.


id: sodium_crypto_box_seal
type: function
doc:
<comment>Description:</comment>
  Anonymous public-key encryption
  
  Encrypt a message such that only the recipient can decrypt it.
  
  Unlike with <strong>sodium_crypto_box()</strong>, you only need to know the recipient's public key to use
  <strong>sodium_crypto_box_seal()</strong>. One consequence of this convenience, however, is that the ciphertext
  isn't bound to a static public key, and is therefore not authenticated. Hence, anonymous
  public-key encryption.
  
  <strong>sodium_crypto_box_seal()</strong> still provides ciphertext integrity. Just not sender identity
  authentication.
  
  If you also need sender authentication, the <strong>sodium_crypto_sign()</strong> functions are likely the best
  place to start.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>     The message to encrypt.
  <info>string</info>  <strong>$public_key</strong>  The public key that corresponds to the only key that can decrypt the message.

<comment>Return:</comment>
  <info>string</info>  A ciphertext string in the format of (one-time public key, encrypted message,
          authentication tag).


id: sodium_crypto_box_seal_open
type: function
doc:
<comment>Description:</comment>
  Anonymous public-key decryption
  
  Decrypt a message that was encrypted with <strong>sodium_crypto_box_seal()</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>  The encrypted message
  <info>string</info>  <strong>$key_pair</strong>    The keypair of the recipient. Must include the secret key.

<comment>Return:</comment>
  <info>string|false</info>  The plaintext on success,  o <info>false</info> en caso de error.


id: sodium_crypto_box_secretkey
type: function
doc:
<comment>Description:</comment>
  Extracts the secret key from a crypto_box keypair
  
  Given a keypair, fetch only the secret key.

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  A keypair, such as one generated by <strong>sodium_crypto_box_keypair()</strong> or
                     <strong>sodium_crypto_box_seed_keypair()</strong>

<comment>Return:</comment>
  <info>string</info>  X25519 secret key.


id: sodium_crypto_box_seed_keypair
type: function
doc:
<comment>Description:</comment>
  Deterministically derive the key pair from a single key
  
  Clamps the seed to form a secret key, derives the public key, and returns the two as a keypair.
  
  The <return>*_seed_keypair</return> functions are ideal for generating a keypair from a password and salt. Use the
  result as a <strong>$seed</strong> to generate the desired keys.

<comment>Param:</comment>
  <info>string</info>  <strong>$seed</strong>  Some cryptographic input. Must be 32 bytes.

<comment>Return:</comment>
  <info>string</info>  X25519 Keypair (secret key and public key).


id: sodium_crypto_core_ristretto255_add
type: function
doc:
<comment>Description:</comment>
  Adds an element
  
  Adds an element <strong>$q</strong> to <strong>$p</strong>. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$p</strong>  An element.
  <info>string</info>  <strong>$q</strong>  An element.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_random()</strong>
   * <strong>sodium_crypto_core_ristretto255_sub()</strong>


id: sodium_crypto_core_ristretto255_from_hash
type: function
doc:
<comment>Description:</comment>
  Maps a vector
  
  Maps a 64-bytes vector <strong>$s</strong> to a group element. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  A 64-bytes vector.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_hex2bin()</strong>
   * <strong>sodium_bin2hex()</strong>
   * <strong>sodium_crypto_core_ristretto255_from_hash()</strong>


id: sodium_crypto_core_ristretto255_is_valid_point
type: function
doc:
<comment>Description:</comment>
  Determines if a point on the ristretto255 curve
  
  Determines if a point on the ristretto255 curve, in canonical form, on the main subgroup, and that
  the point doesn't have a small order. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  An Elliptic-curve point.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$s</strong> is on the ristretto255 curve, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>
   * <strong>sodium_crypto_scalarmult_ristretto255_base()</strong>


id: sodium_crypto_core_ristretto255_random
type: function
doc:
<comment>Description:</comment>
  Generates a random key
  
  Generates a random key. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_add()</strong>
   * <strong>sodium_crypto_core_ristretto255_sub()</strong>


id: sodium_crypto_core_ristretto255_scalar_add
type: function
doc:
<comment>Description:</comment>
  Adds a scalar value
  
  Adds an element <strong>$y</strong> to <strong>$x</strong>. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$x</strong>  Scalar, representing the X coordinate.
  <info>string</info>  <strong>$y</strong>  Scalar, representing the Y coordinate.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>
   * <strong>sodium_crypto_core_ristretto255_scalar_sub()</strong>


id: sodium_crypto_core_ristretto255_scalar_complement
type: function
doc:
<comment>Description:</comment>
  The sodium_crypto_core_ristretto255_scalar_complement purpose
  
  Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  Scalar value.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_invert
type: function
doc:
<comment>Description:</comment>
  Inverts a scalar value
  
  Inverts a scalar value. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  Scalar value.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_mul
type: function
doc:
<comment>Description:</comment>
  Multiplies a scalar value
  
  Multiplies a scalar value. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$x</strong>  Scalar, representing the X coordinate.
  <info>string</info>  <strong>$y</strong>  Scalar, representing the Y coordinate.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_negate
type: function
doc:
<comment>Description:</comment>
  Negates a scalar value
  
  Negates a scalar value. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  Scalar value.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_random
type: function
doc:
<comment>Description:</comment>
  Generates a random key
  
  Generates a random key. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_add()</strong>
   * <strong>sodium_crypto_core_ristretto255_scalar_sub()</strong>


id: sodium_crypto_core_ristretto255_scalar_reduce
type: function
doc:
<comment>Description:</comment>
  Reduces a scalar value
  
  Reduces a scalar value. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  Scalar value.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_sub
type: function
doc:
<comment>Description:</comment>
  Subtracts a scalar value
  
  Subtracts a scalar <strong>$y</strong> from <strong>$x</strong>. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$x</strong>  Scalar, representing the X coordinate.
  <info>string</info>  <strong>$y</strong>  Scalar, representing the Y coordinate.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>
   * <strong>sodium_crypto_core_ristretto255_scalar_add()</strong>


id: sodium_crypto_core_ristretto255_sub
type: function
doc:
<comment>Description:</comment>
  Subtracts an element
  
  Subtracts an element <strong>$q</strong> from <strong>$p</strong>. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$p</strong>  An element.
  <info>string</info>  <strong>$q</strong>  An element.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_random()</strong>
   * <strong>sodium_crypto_core_ristretto255_add()</strong>


id: sodium_crypto_generichash
type: function
doc:
<comment>Description:</comment>
  Get a hash of the message
  
  Hash a message with BLAKE2b.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message being hashed.
  <info>string</info>  <strong>$key</strong>      (Optional) cryptographic key. This serves the same function as a HMAC key, but
                    it's utilized as a reserved section of the internal BLAKE2 state.
  <info>int</info>     <strong>$length</strong>   Output size.

<comment>Return:</comment>
  <info>string</info>  The cryptographic hash as raw bytes. If a hex-encoded output is desired, the result can be
          passed to <strong>sodium_bin2hex()</strong>.


id: sodium_crypto_generichash_final
type: function
doc:
<comment>Description:</comment>
  Complete the hash
  
  The finalization method for the streaming generichash API.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>   Hash state returned from <strong>sodium_crypto_generichash_init()</strong>
  <info>int</info>     <strong>$length</strong>  Output length.

<comment>Return:</comment>
  <info>string</info>  Cryptographic hash.


id: sodium_crypto_generichash_init
type: function
doc:
<comment>Description:</comment>
  Initialize a hash for streaming
  
  The initialization method for the streaming generichash API.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>     The generichash key.
  <info>int</info>     <strong>$length</strong>  The expected output length of the hash function.

<comment>Return:</comment>
  <info>string</info>  Returns a hash state, serialized as a raw binary string.


id: sodium_crypto_generichash_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random generichash key
  
  Generate a random key for use with the generichash API.

<comment>Return:</comment>
  <info>string</info>  A random 256-bit key.


id: sodium_crypto_generichash_update
type: function
doc:
<comment>Description:</comment>
  Add message to a hash
  
  Appends a message to the internal hash state.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>    The return value of <strong>sodium_crypto_generichash_init()</strong>.
  <info>string</info>  <strong>$message</strong>  Data to append to the hashing state.

<comment>Return:</comment>
  <info>true</info>  Siempre devuelve <info>true</info>.


id: sodium_crypto_kdf_derive_from_key
type: function
doc:
<comment>Description:</comment>
  Derive a subkey
  
  Derive a subkey from a root key and additional context.
  
  Similar to <strong>hash_hkdf()</strong>.

<comment>Param:</comment>
  <info>int</info>     <strong>$subkey_length</strong>  Length of the key to return (in bytes)
  <info>int</info>     <strong>$subkey_id</strong>      Return the Nth subkey from a given root key. Useful for seeking.
  <info>string</info>  <strong>$context</strong>        Application-specific context.
  <info>string</info>  <strong>$key</strong>            The root key from which the subkey is derived.

<comment>Return:</comment>
  <info>string</info>  A string of pseudorandom (raw binary) bytes.


id: sodium_crypto_kdf_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random root key for the KDF interface
  
  Generates a random key suitable for serving as the root key for
  <strong>sodium_crypto_kdf_derive_from_key()</strong>.

<comment>Return:</comment>
  <info>string</info>  A random 256-bit key.


id: sodium_crypto_kx_client_session_keys
type: function
doc:
<comment>Description:</comment>
  Calculate the client-side session keys.
  
  Calculate the client-side session keys, using the X25519 + BLAKE2b key-exchange method.

<comment>Param:</comment>
  <info>string</info>  <strong>$client_key_pair</strong>  A crypto_kx keypair, such as one generated by
                            <strong>sodium_crypto_kx_keypair()</strong>.
  <info>string</info>  <strong>$server_key</strong>       A crypto_kx public key.

<comment>Return:</comment>
  <info>array</info>  An array consisting of two strings. The first should be used for receiving data from the
         server. The second should be used for sending data to the server.


id: sodium_crypto_kx_keypair
type: function
doc:
<comment>Description:</comment>
  Creates a new sodium keypair
  
  Create a new sodium keypair consisting of the secret key (32 bytes) followed by the public key (32
  bytes). The keys can be retrieved by calling <strong>sodium_crypto_kx_secretkey()</strong> and
  <strong>sodium_crypto_kx_publickey()</strong>, respectively.

<comment>Return:</comment>
  <info>string</info>  Returns the new keypair on success; throws an exception otherwise.


id: sodium_crypto_kx_publickey
type: function
doc:
<comment>Description:</comment>
  Extract the public key from a crypto_kx keypair
  
  Extract the public key from a crypto_kx keypair.

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  X25519 keypair, such as one generated by <strong>sodium_crypto_kx_keypair()</strong>.

<comment>Return:</comment>
  <info>string</info>  X25519 public key.


id: sodium_crypto_kx_secretkey
type: function
doc:
<comment>Description:</comment>
  Extract the secret key from a crypto_kx keypair.
  
  Extract the secret key from a crypto_kx keypair.

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  X25519 keypair, such as one generated by <strong>sodium_crypto_kx_keypair()</strong>.

<comment>Return:</comment>
  <info>string</info>  X25519 secret key.


id: sodium_crypto_kx_seed_keypair
type: function
doc:
<comment>Description:</comment>
  Description
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$seed</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: sodium_crypto_kx_server_session_keys
type: function
doc:
<comment>Description:</comment>
  Calculate the server-side session keys.
  
  Calculate the server-side session keys, using the X25519 + BLAKE2b key-exchange method.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key_pair</strong>  A crypto_kx keypair, such as one generated by
                            <strong>sodium_crypto_kx_keypair()</strong>.
  <info>string</info>  <strong>$client_key</strong>       A crypto_kx public key.

<comment>Return:</comment>
  <info>array</info>  An array consisting of two strings. The first should be used for receiving data from the
         client. The second should be used for sending data to the client.


id: sodium_crypto_pwhash
type: function
doc:
<comment>Description:</comment>
  Derive a key from a password, using Argon2
  
  This function provides low-level access to libsodium's crypto_pwhash key derivation function.
  Unless you have specific reason to use this function, you should use <strong>sodium_crypto_pwhash_str()</strong> or
  <strong>password_hash()</strong> functions instead.
  
  A common reason to use this particular function is to derive the seeds for cryptographic keys from
  a password and salt, and then use these seeds to generate the actual keys needed for some purpose
  (e.g. <strong>sodium_crypto_sign_detached()</strong>).

<comment>Param:</comment>
  <info>int</info>     <strong>$length</strong>    <info>int</info>; The length of the password hash to generate, in bytes.
  <info>string</info>  <strong>$password</strong>  <info>string</info>; The password to generate a hash for.
  <info>string</info>  <strong>$salt</strong>      A salt to add to the password before hashing. The salt should be unpredictable,
                     ideally generated from a good random number source such as <strong>random_bytes()</strong>, and
                     have a length of at least <info>SODIUM_CRYPTO_PWHASH_SALTBYTES</info> bytes.
  <info>int</info>     <strong>$opslimit</strong>  Represents a maximum amount of computations to perform. Raising this number
                     will make the function require more CPU cycles to compute a key. There are some
                     constants available to set the operations limit to appropriate values depending
                     on intended use, in order of strength:
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE</info>,
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE</info> and
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE</info>.
  <info>int</info>     <strong>$memlimit</strong>  The maximum amount of RAM that the function will use, in bytes. There are
                     constants to help you choose an appropriate value, in order of size:
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE</info>,
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE</info>, and
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE</info>. Typically these should be paired with
                     the matching <strong>$opslimit</strong> values.
  <info>int</info>     <strong>$algo</strong>      <info>int</info> A number indicating the hash algorithm to use. By default
                     <info>SODIUM_CRYPTO_PWHASH_ALG_DEFAULT</info> (the currently recommended algorithm, which
                     can change from one version of libsodium to another), or explicitly using
                     <info>SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13</info>, representing the Argon2id algorithm
                     version 1.3.

<comment>Return:</comment>
  <info>string</info>  Returns the derived key. The return value is a binary string of the hash, not an
          ASCII-encoded representation, and does not contain additional information about the
          parameters used to create the hash, so you will need to keep that information if you are
          ever going to verify the password in future. Use <strong>sodium_crypto_pwhash_str()</strong> to avoid
          needing to do all that.


id: sodium_crypto_pwhash_scryptsalsa208sha256
type: function
doc:
<comment>Description:</comment>
  Derives a key from a password, using scrypt
  
  This is the scrypt counterpart to <strong>sodium_crypto_pwhash()</strong>.
  
  A common reason to use this particular function is to derive the seeds for cryptographic keys from
  a password and salt, and then use these seeds to generate the actual keys needed for some purpose
  (e.g. <strong>sodium_crypto_sign_detached()</strong>).

<comment>Param:</comment>
  <info>int</info>     <strong>$length</strong>    The length of the password hash to generate, in bytes.
  <info>string</info>  <strong>$password</strong>  The password to generate a hash for.
  <info>string</info>  <strong>$salt</strong>      A salt to add to the password before hashing. The salt should be unpredictable,
                     ideally generated from a good random number source such as <strong>random_bytes()</strong>, and
                     have a length of at least <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES</info>
                     bytes.
  <info>int</info>     <strong>$opslimit</strong>  Represents a maximum amount of computations to perform. Raising this number
                     will make the function require more CPU cycles to compute a key. There are some
                     constants available to set the operations limit to appropriate values depending
                     on intended use, in order of strength:
                     <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE</info> and
                     <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE</info>.
  <info>int</info>     <strong>$memlimit</strong>  The maximum amount of RAM that the function will use, in bytes. There are
                     constants to help you choose an appropriate value, in order of size:
                     <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE</info> and
                     <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE</info>. Typically these
                     should be paired with the matching <strong>$opslimit</strong> values.

<comment>Return:</comment>
  <info>string</info>  A string of bytes of the desired length.


id: sodium_crypto_pwhash_scryptsalsa208sha256_str
type: function
doc:
<comment>Description:</comment>
  Get an ASCII encoded hash
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  
  <info>int</info>     <strong>$opslimit</strong>  
  <info>int</info>     <strong>$memlimit</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: sodium_crypto_pwhash_scryptsalsa208sha256_str_verify
type: function
doc:
<comment>Description:</comment>
  Verify that the password is a valid password verification string
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$hash</strong>      
  <info>string</info>  <strong>$password</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: sodium_crypto_pwhash_str
type: function
doc:
<comment>Description:</comment>
  Get an ASCII-encoded hash
  
  Uses a CPU- and memory-hard hash algorithm along with a randomly-generated salt, and memory and
  CPU limits to generate an ASCII-encoded hash suitable for password storage.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  <info>string</info>; The password to generate a hash for.
  <info>int</info>     <strong>$opslimit</strong>  Represents a maximum amount of computations to perform. Raising this number
                     will make the function require more CPU cycles to compute a key. There are
                     constants available to set the operations limit to appropriate values depending
                     on intended use, in order of strength:
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE</info>,
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE</info> and
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE</info>.
  <info>int</info>     <strong>$memlimit</strong>  The maximum amount of RAM that the function will use, in bytes. There are
                     constants to help you choose an appropriate value, in order of size:
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE</info>,
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE</info>, and
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE</info>. Typically these should be paired with
                     the matching opslimit values.

<comment>Return:</comment>
  <info>string</info>  Returns the hashed password.
          
          In order to produce the same password hash from the same password, the same values for
          <strong>$opslimit</strong> and <strong>$memlimit</strong> must be used. These are embedded within the generated hash, so
          everything that's needed to verify the hash is included. This allows the
          <strong>sodium_crypto_pwhash_str_verify()</strong> function to verify the hash without needing separate
          storage for the other parameters.

<comment>See Also:</comment>
   * <strong>sodium_crypto_pwhash_str_verify()</strong>
   * <strong>sodium_crypto_pwhash()</strong>
   * <strong>password_hash()</strong>
   * <strong>password_verify()</strong>
   * Libsodium Argon2 docs


id: sodium_crypto_pwhash_str_needs_rehash
type: function
doc:
<comment>Description:</comment>
  Determine whether or not to rehash a password
  
  Determine whether or not to rehash a password, based on the current hash <strong>$opslimit</strong> and <strong>$memlimit</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  Password hash
  <info>int</info>     <strong>$opslimit</strong>  Configured opslimit; see <strong>sodium_crypto_pwhash_str()</strong>
  <info>int</info>     <strong>$memlimit</strong>  Configured memlimit; see <strong>sodium_crypto_pwhash_str()</strong>

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the provided memlimit/opslimit do not match what's stored in the hash.
        Returns <info>false</info> if they match.


id: sodium_crypto_pwhash_str_verify
type: function
doc:
<comment>Description:</comment>
  Verifies that a password matches a hash
  
  Checks that a password hash created using <strong>sodium_crypto_pwhash_str()</strong> matches a given plain-text
  password. Note that the parameters are in the opposite order to the same parameters in the similar
  <strong>password_verify()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$hash</strong>      Un hash creado por <strong>password_hash()</strong>.
  <info>string</info>  <strong>$password</strong>  La contraseña del usuario.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the password and hash match, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>sodium_crypto_pwhash_str()</strong>
   * <strong>password_hash()</strong>
   * <strong>password_verify()</strong>


id: sodium_crypto_scalarmult
type: function
doc:
<comment>Description:</comment>
  Compute a shared secret given a user's secret key and another user's public key
  
  Elliptic Curve Diffie-Hellman. Calculates scalar n times point p, on an elliptic curve.

<comment>Param:</comment>
  <info>string</info>  <strong>$n</strong>  scalar, which is typically a secret key
  <info>string</info>  <strong>$p</strong>  point (x-coordinate), which is typically a public key

<comment>Return:</comment>
  <info>string</info>  A 32-byte random string.


id: sodium_crypto_scalarmult_base
type: function
doc:
<comment>Description:</comment>
  Alias de sodium_crypto_box_publickey_from_secretkey
  
  Esta función es un alias de:  <strong>sodium_crypto_box_publickey_from_secretkey()</strong>.


id: sodium_crypto_scalarmult_ristretto255
type: function
doc:
<comment>Description:</comment>
  Computes a shared secret
  
  Calculates scalar <strong>$n</strong> times point <strong>$p</strong>. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$n</strong>  A scalar, which is typically a secret key.
  <info>string</info>  <strong>$p</strong>  A point (x-coordinate), which is typically a public key.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_scalarmult_ristretto255_base()</strong>


id: sodium_crypto_scalarmult_ristretto255_base
type: function
doc:
<comment>Description:</comment>
  Calculates the public key from a secret key
  
  Given a secret key, calculates the corresponding public key. Available as of libsodium 1.0.18.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string</info>  <strong>$n</strong>  A secret key.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random <info>string</info>.

<comment>See Also:</comment>
   * <strong>sodium_crypto_scalarmult_ristretto255()</strong>


id: sodium_crypto_secretbox
type: function
doc:
<comment>Description:</comment>
  Authenticated shared-key encryption
  
  Encrypt a message with a symmetric (shared) key.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The plaintext message to encrypt.
  <info>string</info>  <strong>$nonce</strong>    A number that must be only used once, per message. 24 bytes long. This is a
                    large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>      Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the encrypted string.

<comment>See Also:</comment>
   * <strong>sodium_crypto_secretbox_open()</strong>
   * <strong>sodium_crypto_secretbox_keygen()</strong>
   * <strong>random_bytes()</strong>


id: sodium_crypto_secretbox_keygen
type: function
doc:
<comment>Description:</comment>
  Generate random key for sodium_crypto_secretbox
  
  Generate a key for use with <strong>sodium_crypto_secretbox()</strong> and <strong>sodium_crypto_secretbox_open()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the generated string of cryptographically secure random bytes.

<comment>See Also:</comment>
   * <strong>sodium_bin2hex()</strong>
   * <strong>random_bytes()</strong>


id: sodium_crypto_secretbox_open
type: function
doc:
<comment>Description:</comment>
  Authenticated shared-key decryption
  
  Decrypt an encrypted message with a symmetric (shared) key.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>  Must be in the format provided by <strong>sodium_crypto_secretbox()</strong> (ciphertext and
                       tag, concatenated).
  <info>string</info>  <strong>$nonce</strong>       A number that must be only used once, per message. 24 bytes long. This is a
                       large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>         Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  The decrypted string on success o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sodium_crypto_secretbox()</strong>
   * <strong>sodium_crypto_secretbox_keygen()</strong>
   * <strong>random_bytes()</strong>


id: sodium_crypto_secretstream_xchacha20poly1305_init_pull
type: function
doc:
<comment>Description:</comment>
  Initialize a secretstream context for decryption
  
  Initialize a secretstream context for decryption.

<comment>Param:</comment>
  <info>string</info>  <strong>$header</strong>  The header of the secretstream. This should be one of the values produced by
                   <strong>sodium_crypto_secretstream_xchacha20poly1305_init_push()</strong>.
  <info>string</info>  <strong>$key</strong>     Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Secretstream state.


id: sodium_crypto_secretstream_xchacha20poly1305_init_push
type: function
doc:
<comment>Description:</comment>
  Initialize a secretstream context for encryption
  
  Initialize a secretstream context for encryption.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  Cryptography key. See <strong>sodium_crypto_secretstream_xchacha20poly1305_keygen()</strong>.

<comment>Return:</comment>
  <info>array</info>  An array with two string values:


id: sodium_crypto_secretstream_xchacha20poly1305_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random secretstream key.
  
  Generate a random secretstream key.

<comment>Return:</comment>
  <info>string</info>  Returns a string of random bytes.


id: sodium_crypto_secretstream_xchacha20poly1305_pull
type: function
doc:
<comment>Description:</comment>
  Decrypt a chunk of data from an encrypted stream
  
  Decrypt a chunk of data from an encrypted stream.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>            See <strong>sodium_crypto_secretstream_xchacha20poly1305_init_pull()</strong> and
                            <strong>sodium_crypto_secretstream_xchacha20poly1305_init_push()</strong>
  <info>string</info>  <strong>$ciphertext</strong>       The ciphertext chunk to decrypt.
  <info>string</info>  <strong>$additional_data</strong>  Optional additional data to include in the authentication tag.

<comment>Return:</comment>
  <info>array|false</info>  An array with two values: <info>string</info>; The decrypted chunk <info>int</info>; An optional tag (if
               provided during push). Possible values:
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE</info>: the most common tag, that
               doesn't add any information about the nature of the message.
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL</info>: indicates that the message
               marks the end of the stream, and erases the secret key used to encrypt the previous
               sequence. <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH</info>: indicates that the
               message marks the end of a set of messages, but not the end of the stream. For
               example, a huge JSON string sent as multiple chunks can use this tag to indicate to
               the application that the string is complete and that it can be decoded. But the
               stream itself is not closed, and more data may follow.
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY</info>: "forget" the key used to
               encrypt this message and the previous ones, and derive a new secret key.
               
               <info>string</info>; The decrypted chunk
               
               <info>int</info>; An optional tag (if provided during push). Possible values:
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE</info>: the most common tag, that
               doesn't add any information about the nature of the message.
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL</info>: indicates that the message
               marks the end of the stream, and erases the secret key used to encrypt the previous
               sequence. <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH</info>: indicates that the
               message marks the end of a set of messages, but not the end of the stream. For
               example, a huge JSON string sent as multiple chunks can use this tag to indicate to
               the application that the string is complete and that it can be decoded. But the
               stream itself is not closed, and more data may follow.
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY</info>: "forget" the key used to
               encrypt this message and the previous ones, and derive a new secret key.


id: sodium_crypto_secretstream_xchacha20poly1305_push
type: function
doc:
<comment>Description:</comment>
  Encrypt a chunk of data so that it can safely be decrypted in a streaming API
  
  Encrypt a chunk of data so that it can safely be decrypted in a streaming API.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>            See <strong>sodium_crypto_secretstream_xchacha20poly1305_init_pull()</strong> and
                            <strong>sodium_crypto_secretstream_xchacha20poly1305_init_push()</strong>
  <info>string</info>  <strong>$message</strong>          
  <info>string</info>  <strong>$additional_data</strong>  
  <info>int</info>     <strong>$tag</strong>              Optional. Can be used to assert decryption behavior (i.e. re-keying or
                            indicating the final chunk in a stream).

<comment>Return:</comment>
  <info>string</info>  Returns the encrypted ciphertext.


id: sodium_crypto_secretstream_xchacha20poly1305_rekey
type: function
doc:
<comment>Description:</comment>
  Explicitly rotate the key in the secretstream state
  
  Explicitly rotate the key in the secretstream state. Overwrites the value passed in.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>  Secretstream state.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: sodium_crypto_shorthash
type: function
doc:
<comment>Description:</comment>
  Compute a short hash of a message and key
  
  <strong>sodium_crypto_shorthash()</strong> wraps a hash function called SipHash-2-4, which is ideal for
  implementing hash tables that are not susceptible to hash collision denial of service attacks
  (Hash-DoS).
  
  SipHash-2-4 isn't a general purpose cryptographic hash function.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to hash.
  <info>string</info>  <strong>$key</strong>      The hash key.

<comment>Return:</comment>
  <info>string</info>  


id: sodium_crypto_shorthash_keygen
type: function
doc:
<comment>Description:</comment>
  Get random bytes for key
  
  Generate a key for use with <strong>sodium_crypto_shorthash()</strong>.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>string</info>  


id: sodium_crypto_sign
type: function
doc:
<comment>Description:</comment>
  Sign a message
  
  Sign a message with a secret key, that can be verified by the corresponding public key. This
  function attaches the signature to the message. See <strong>sodium_crypto_sign_detached()</strong> for detached
  signatures.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>     Message to sign.
  <info>string</info>  <strong>$secret_key</strong>  Secret key. See <strong>sodium_crypto_sign_secretkey()</strong>

<comment>Return:</comment>
  <info>string</info>  Signed message (not encrypted).


id: sodium_crypto_sign_detached
type: function
doc:
<comment>Description:</comment>
  Sign the message
  
  Sign a message with a secret key, that can be verified by the corresponding public key. This
  function returns a detached signature.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>     Message to sign.
  <info>string</info>  <strong>$secret_key</strong>  Secret key. See <strong>sodium_crypto_sign_secretkey()</strong>

<comment>Return:</comment>
  <info>string</info>  Cryptographic signature.


id: sodium_crypto_sign_ed25519_pk_to_curve25519
type: function
doc:
<comment>Description:</comment>
  Convert an Ed25519 public key to a Curve25519 public key
  
  Given an Ed25519 public key, calculate the birationally equivalent X25519 public key.

<comment>Param:</comment>
  <info>string</info>  <strong>$public_key</strong>  Public key suitable for the crypto_sign functions.

<comment>Return:</comment>
  <info>string</info>  Public key suitable for the crypto_box functions.


id: sodium_crypto_sign_ed25519_sk_to_curve25519
type: function
doc:
<comment>Description:</comment>
  Convert an Ed25519 secret key to a Curve25519 secret key
  
  Given an Ed25519 secret key, calculate the birationally equivalent X25519 secret key.

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  Secret key suitable for the crypto_sign functions.

<comment>Return:</comment>
  <info>string</info>  Secret key suitable for the crypto_box functions.


id: sodium_crypto_sign_keypair
type: function
doc:
<comment>Description:</comment>
  Randomly generate a secret key and a corresponding public key
  
  Generate a random Ed25519 keypair as one string.

<comment>Return:</comment>
  <info>string</info>  Ed25519 keypair.


id: sodium_crypto_sign_keypair_from_secretkey_and_publickey
type: function
doc:
<comment>Description:</comment>
  Join a secret key and public key together
  
  Join a secret key and public key together.

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  Ed25519 secret key
  <info>string</info>  <strong>$public_key</strong>  Ed25519 public key

<comment>Return:</comment>
  <info>string</info>  Keypair


id: sodium_crypto_sign_open
type: function
doc:
<comment>Description:</comment>
  Check that the signed message has a valid signature
  
  Verify the signature attached to a message and return the message

<comment>Param:</comment>
  <info>string</info>  <strong>$signed_message</strong>  A message signed with <strong>sodium_crypto_sign()</strong>
  <info>string</info>  <strong>$public_key</strong>      An Ed25519 public key

<comment>Return:</comment>
  <info>string|false</info>  Returns the original signed message on success,  o <info>false</info> en caso de error.


id: sodium_crypto_sign_publickey
type: function
doc:
<comment>Description:</comment>
  Extract the Ed25519 public key from a keypair
  
  Extract the Ed25519 public key from a keypair

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  Ed25519 keypair (see: <strong>sodium_crypto_sign_keypair()</strong>)

<comment>Return:</comment>
  <info>string</info>  Ed25519 public key


id: sodium_crypto_sign_publickey_from_secretkey
type: function
doc:
<comment>Description:</comment>
  Extract the Ed25519 public key from the secret key
  
  Extract the Ed25519 public key from the secret key

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  Ed25519 secret key

<comment>Return:</comment>
  <info>string</info>  Ed25519 public key


id: sodium_crypto_sign_secretkey
type: function
doc:
<comment>Description:</comment>
  Extract the Ed25519 secret key from a keypair
  
  Extract the Ed25519 secret key from a keypair

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  Ed25519 keypair (see: <strong>sodium_crypto_sign_keypair()</strong>)

<comment>Return:</comment>
  <info>string</info>  Ed25519 secret key


id: sodium_crypto_sign_seed_keypair
type: function
doc:
<comment>Description:</comment>
  Deterministically derive the key pair from a single key
  
  Clamps the seed to form a secret key, derives the public key, and returns the two as a keypair.
  
  The <return>*_seed_keypair</return> functions are ideal for generating a keypair from a password and salt. Use the
  result as a <strong>$seed</strong> to generate the desired keys.

<comment>Param:</comment>
  <info>string</info>  <strong>$seed</strong>  Some cryptographic input. Must be 32 bytes.

<comment>Return:</comment>
  <info>string</info>  Keypair (secret key and public key)


id: sodium_crypto_sign_verify_detached
type: function
doc:
<comment>Description:</comment>
  Verify signature for the message
  
  Verify signature for the message

<comment>Param:</comment>
  <info>string</info>  <strong>$signature</strong>   The cryptographic signature obtained from <strong>sodium_crypto_sign_detached()</strong>
  <info>string</info>  <strong>$message</strong>     The message being verified
  <info>string</info>  <strong>$public_key</strong>  Ed25519 public key

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: sodium_crypto_stream
type: function
doc:
<comment>Description:</comment>
  Generate a deterministic sequence of bytes from a seed
  
  Generate a deterministic sequence of bytes from a seed, using the XSalsa20 stream cipher.

<comment>Param:</comment>
  <info>int</info>     <strong>$length</strong>  The number of bytes to return.
  <info>string</info>  <strong>$nonce</strong>   A number that must be only used once, per message. 24 bytes long. This is a large
                   enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>     Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  String of pseudorandom bytes.


id: sodium_crypto_stream_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random sodium_crypto_stream key.
  
  Generate a key for use with <strong>sodium_crypto_stream()</strong> and <strong>sodium_crypto_stream_xor()</strong>.

<comment>Return:</comment>
  <info>string</info>  Encryption key (256-bit).


id: sodium_crypto_stream_xchacha20
type: function
doc:
<comment>Description:</comment>
  Expands the key and nonce into a keystream of pseudorandom bytes
  
  Expands the <strong>$key</strong> and <strong>$nonce</strong> into a keystream of pseudorandom bytes.

<comment>Param:</comment>
  <info>int</info>     <strong>$length</strong>  Number of bytes desired.
  <info>string</info>  <strong>$nonce</strong>   24-byte nonce.
  <info>string</info>  <strong>$key</strong>     Key, possibly generated from <strong>sodium_crypto_stream_xchacha20_keygen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a pseudorandom stream that can be used with <strong>sodium_crypto_stream_xchacha20_xor()</strong>.


id: sodium_crypto_stream_xchacha20_keygen
type: function
doc:
<comment>Description:</comment>
  Returns a secure random key
  
  Returns a secure random key for use with <strong>sodium_crypto_stream_xchacha20()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte secure random key for use with <strong>sodium_crypto_stream_xchacha20()</strong>.


id: sodium_crypto_stream_xchacha20_xor
type: function
doc:
<comment>Description:</comment>
  Encrypts a message using a nonce and a secret key (no authentication)
  
  Encrypts a <strong>$message</strong> using a <strong>$nonce</strong> and a secret <strong>$key</strong> (no authentication).
  
  This encryption is unauthenticated, and does not prevent chosen-ciphertext attacks. Make sure to
  combine the ciphertext with a Message Authentication Code, for example with
  <strong>sodium_crypto_aead_xchacha20poly1305_ietf_encrypt()</strong> function, or <strong>sodium_crypto_auth()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to encrypt.
  <info>string</info>  <strong>$nonce</strong>    24-byte nonce.
  <info>string</info>  <strong>$key</strong>      Key, possibly generated from <strong>sodium_crypto_stream_xchacha20_keygen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Encrypted message.

<comment>See Also:</comment>
   * <strong>sodium_crypto_stream_xchacha20_xor_ic()</strong>


id: sodium_crypto_stream_xchacha20_xor_ic
type: function
doc:
<comment>Description:</comment>
  Encrypts a message using a nonce and a secret key (no authentication)
  
  The function is similar to <strong>sodium_crypto_stream_xchacha20_xor()</strong> but adds the ability to set the
  initial value of the block counter to a non-zero value. This permits direct access to any block
  without having to compute the previous ones.
  
  This encryption is unauthenticated, and does not prevent chosen-ciphertext attacks. Make sure to
  combine the ciphertext with a Message Authentication Code, for example with
  <strong>sodium_crypto_aead_xchacha20poly1305_ietf_encrypt()</strong> function, or <strong>sodium_crypto_auth()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to encrypt.
  <info>string</info>  <strong>$nonce</strong>    24-byte nonce.
  <info>int</info>     <strong>$counter</strong>  The initial value of the block counter.
  <info>string</info>  <strong>$key</strong>      Key, possibly generated from <strong>sodium_crypto_stream_xchacha20_keygen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Encrypted message,  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sodium_crypto_stream_xchacha20_xor()</strong>


id: sodium_crypto_stream_xor
type: function
doc:
<comment>Description:</comment>
  Encrypt a message without authentication
  
  This function encrypts a message with XSalsa20, but does not provide any ciphertext guarantees
  about the plaintext.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to encrypt
  <info>string</info>  <strong>$nonce</strong>    A number that must be only used once, per message. 24 bytes long. This is a
                    large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>      Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Encrypted message.


id: sodium_hex2bin
type: function
doc:
<comment>Description:</comment>
  Decodes a hexadecimally encoded binary string
  
  Decodes a hexadecimally encoded binary string.
  
  Like <strong>sodium_bin2hex()</strong>, <strong>sodium_hex2bin()</strong> is resistant to side-channel attacks while <strong>hex2bin()</strong> is
  not.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Hexadecimal representation of data.
  <info>string</info>  <strong>$ignore</strong>  Optional string argument for characters to ignore.

<comment>Return:</comment>
  <info>string</info>  Returns the binary representation of the given <strong>$string</strong> data.


id: sodium_increment
type: function
doc:
<comment>Description:</comment>
  Increment large number
  
  Treat the string as a little-endian unsigned integer, then increase it by 1. Constant-time.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  String to increment.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: sodium_memcmp
type: function
doc:
<comment>Description:</comment>
  Test for equality in constant-time
  
  Compare two strings in constant-time.
  
  In practice, you almost always want to use <strong>hash_equals()</strong> instead, since it provides the same logic
  but returns a <info>bool</info> instead of an <info>int</info>. However, if you're using the return value of a comparison in
  a calculation that's timing-sensitive, and worried about timing leaks with bool-to-int
  conversions, <strong>sodium_memcmp()</strong> is an ideal replacement.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  String to compare
  <info>string</info>  <strong>$string2</strong>  Other string to compare

<comment>Return:</comment>
  <info>int</info>  Returns <return>0</return> if both strings are equal; <return>-1</return> otherwise.


id: sodium_memzero
type: function
doc:
<comment>Description:</comment>
  Overwrite a string with NUL characters
  
  <strong>sodium_memzero()</strong> zeroes out the string that is passed by reference.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  String.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: sodium_pad
type: function
doc:
<comment>Description:</comment>
  Add padding data
  
  Right-pad a string to a desired length. Timing-safe.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      Unpadded string.
  <info>int</info>     <strong>$block_size</strong>  The string will be padded until it is an even multiple of the block size.

<comment>Return:</comment>
  <info>string</info>  Padded string.


id: sodium_unpad
type: function
doc:
<comment>Description:</comment>
  Remove padding data
  
  Unpad a padded string. Timing-safe.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      Padded string.
  <info>int</info>     <strong>$block_size</strong>  The block size for padding.

<comment>Return:</comment>
  <info>string</info>  Unpadded string.


id: solr_get_version
type: function
doc:
<comment>Description:</comment>
  Devuelve la versión actual de la extensión Apache Solr
  
  Esta función devuelve la versión actual de la extensión como una cadena.

<comment>Return:</comment>
  <info>string</info>  Devuelve una cadena en caso de éxito y <info>false</info> en caso de fallo.

<comment>See Also:</comment>
   * <strong>SolrUtils::getSolrVersion()</strong>


id: sort
type: function
doc:
<comment>Description:</comment>
  Ordena un array
  
  Esta función ordena un array. Los elementos estarán ordenados de menor a mayor cuando la función
  haya terminado.
  
  Si dos miembros se comparan como iguales, su orden relativo en el array oredenado será indefinido.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>       El array de entrada.
  <info>int</info>    <strong>$sort_flags</strong>  El segundo parámetro opcional <strong>$sort_flags</strong> puede ser usado para modificar el
                      modo de ordenación usando estos valores:
                      
                      Tipos de ordenación: <info>SORT_REGULAR</info> - compara elementos normalmente (no cambia
                      los tipos)<info>SORT_NUMERIC</info> - compara elementos de forma numérica<info>SORT_STRING</info> -
                      compara elementos como cadenas<info>SORT_LOCALE_STRING</info> - compara elementos como
                      cadenas, basándose en la configuración regional en uso. Utiliza la
                      configuración regional, la cual puede cambiarse usando <strong>setlocale()</strong>.
                      <info>SORT_NATURAL</info> - compara elementos como cadenas usando el "orden natural" de la
                      misma forma que <strong>natsort()</strong>. <info>SORT_FLAG_CASE</info> - se puede combinar (OR a nivel de
                      bits) con <info>SORT_STRING</info> o <info>SORT_NATURAL</info> para ordenar cadenas de forma insensible
                      a mayúsculas/minúsculas.
                      
                      <info>SORT_REGULAR</info> - compara elementos normalmente (no cambia los tipos)
                      
                      <info>SORT_NUMERIC</info> - compara elementos de forma numérica
                      
                      <info>SORT_STRING</info> - compara elementos como cadenas
                      
                      <info>SORT_LOCALE_STRING</info> - compara elementos como  cadenas, basándose en la
                      configuración regional en uso. Utiliza la configuración regional, la cual
                      puede cambiarse usando <strong>setlocale()</strong>.
                      
                      <info>SORT_NATURAL</info> - compara elementos como cadenas usando el "orden natural" de la
                      misma forma que <strong>natsort()</strong>.
                      
                      <info>SORT_FLAG_CASE</info> - se puede combinar (OR a nivel de bits) con <info>SORT_STRING</info> o
                      <info>SORT_NATURAL</info> para ordenar cadenas de forma insensible a mayúsculas/minúsculas.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>asort()</strong>
   * comparación de funciones de orden de arrays


id: soundex
type: function
doc:
<comment>Description:</comment>
  Calcula la clave soundex de un string
  
  Calcula la clave soundex de <strong>$str</strong>.
  
  Las claves soundex tienen la propiedad que palabras pronunciadas de forma similar producen la
  misma clave soundex y por lo tanto puede ser usada para simplificar búsquedas en bases de datos
  donde se conoce la pronunciación pero no la ortografía. Esta función soundex devuelve un string de
  4 caracteres de longitud, que inicia con una letra.
  
  Esta función particular de soundex es la descrita por Donald Knuth en "The Art Of Computer
  Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  El string de entrada.

<comment>Return:</comment>
  <info>string</info>  Devuelve la clave soundex como un string.

<comment>See Also:</comment>
   * <strong>levenshtein()</strong>
   * <strong>metaphone()</strong>
   * <strong>similar_text()</strong>


id: spl_autoload
type: function
doc:
<comment>Description:</comment>
  Implementación predeterminada para __autoload()
  
  Esta función pretende usarse como una implementación predeterminada para <strong>__autoload()</strong>. Si no se
  especifica nada más y <strong>spl_autoload_register()</strong> es llamada sin ningún parámetro, esta función será
  usada para cualquier llamada posterior a <strong>__autoload()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$class_name</strong>       El nombre de la clase en minúsculas (y espacio de nombres) que va ser
                            instanciado.
  <info>string</info>  <strong>$file_extensions</strong>  Por omisión, comprueba todas las rutas de inclusión que contienen
                            nombres de fichero construidos por el nombre de la clase en minúsculas
                            añadido por las extensiones de nombre de fichero .inc y .php.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: spl_autoload_call
type: function
doc:
<comment>Description:</comment>
  Probar todos las funciones registradas __autoload() para cargar la clase solicitada
  
  Esta función puede ser usada manualmente para buscar una clase o interface  usando las funciones
  registradas __autoload.

<comment>Param:</comment>
  <info>string</info>  <strong>$class_name</strong>  El nombre de la clase a ser buscada.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: spl_autoload_extensions
type: function
doc:
<comment>Description:</comment>
  Registrar y devolver las extensiones de ficheros predeterminadas para spl_autoload
  
  Esta función puede modificar y verificar las extensiones de ficheros que estará usando
  <strong>spl_autoload()</strong> en respaldo de la función interna <strong>__autoload()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$file_extensions</strong>  Cuando se llama sin ningún argumento, simplemente devuelve la lista
                            actual de extensiones separadas por comas. Para modificar la lista de
                            extensiones de fichero, llame a las funciones con la nueva lista de
                            extensiones de fichero a usar en una simple cadena con cada extensión
                            serparada por una coma.

<comment>Return:</comment>
  <info>string</info>  Una lista delimitada por comas de las extensiones predeterminadas de ficheros de para
          <strong>spl_autoload()</strong>.


id: spl_autoload_functions
type: function
doc:
<comment>Description:</comment>
  Devolver todas las funciones __autoload() registradas
  
  Obtiene todas las funciones __autoload() registradas.

<comment>Return:</comment>
  <info>array</info>  Un <info>array</info> con todas las funciones __autoload registradas. Si la cola de autocarga no está
         activada, el valor devuelto es <info>false</info>. Si no hay ninguna función registrada, el valor
         devuelto será un array vacío.


id: spl_autoload_register
type: function
doc:
<comment>Description:</comment>
  Registrar las funciones dadas como implementación de __autoload()
  
  Registra una función con la cola de __autoload proporcionada por spl. Si la cola aún no ha sido
  activa, será activada.
  
  Si el código contiene una función <strong>__autoload()</strong> existente, dicha función debe estar explícitamente
  registrada en la cola de __autoload. Esto es debido a que <strong>spl_autoload_register()</strong> de hecho
  reemplazará la caché del motor para la función <strong>__autoload()</strong> mediante <strong>spl_autoload()</strong> o
  <strong>spl_autoload_call()</strong>.
  
  Si deben haber varias funciones de autocarga, <strong>spl_autoload_register()</strong>  lo permite. De hecho, crea
  una cola de funciones de autocarga y las recorre en el orden en que fueron definidas. Por el
  contrario, <strong>__autoload()</strong> sólo puede definirse una vez.

<comment>Param:</comment>
  <info>callable</info>  <strong>$autoload_function</strong>  La función de autocarga a registrar. Si no se proporciona ningún
                                parámetro, será registrada la implementación predeterminada de
                                <strong>spl_autoload()</strong>.
  <info>bool</info>      <strong>$throw</strong>              Este parámetro especifica si <strong>spl_autoload_register()</strong> debería lanzar
                                excepciones cuando el parámetro <strong>$autoload_function</strong> no puede ser
                                registrado.
  <info>bool</info>      <strong>$prepend</strong>            Si es <info>true</info>, <strong>spl_autoload_register()</strong> antepondrá el autocargador en la
                                pila de autocarga en vez de posponerlo.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>__autoload()</strong>


id: spl_autoload_unregister
type: function
doc:
<comment>Description:</comment>
  Desregistrar una función dada como implementación de __autoload()
  
  Elimina una función de la cola de autocarga. Si la cola está activada y vacía después de eliminar
  la función dada, será desactivada.
  
  Cuando esta función resulte en la desactivación de la cola, cualquier función de __autoload que
  existiera previamente no será reactivada.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$autoload_function</strong>  La función de autocarga a eliminar.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: spl_classes
type: function
doc:
<comment>Description:</comment>
  Devuelve las clases SPL disponibles
  
  Esta función devuelve un array con las clases SPL actualmente disponibles.

<comment>Return:</comment>
  <info>array</info>  Devuelve un <info>array</info> que contiene las clases SPL actualmente disponibles.


id: spl_object_hash
type: function
doc:
<comment>Description:</comment>
  Devuelve el id del hash del objeto dado
    
  
  Esta función devuelve un identificador único del objeto. Este id puede ser  empleado como una
  clave hash para almacenar objetos o para identificar un objeto, siempre que el objeto no sea
  destruído. Una vez que el objeto se destruye, su hash puede ser reutilizado por otros objetos.

<comment>Param:</comment>
  <info></info>  <strong>$object</strong>  Cualquier objeto.

<comment>Return:</comment>
  <info>string</info>  Un string que es único para cada objeto que existe actualmente y que siempre  es el mismo
          para cada objeto.


id: spl_object_id
type: function
doc:
<comment>Description:</comment>
  Return the integer object handle for given object
    
  
  This function returns a unique identifier for the object. The object id is unique for the lifetime
  of the object. Once the object is destroyed, its id may be reused for other objects. This behavior
  is similar to <strong>spl_object_hash()</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  Any object.

<comment>Return:</comment>
  <info>int</info>  An integer identifier that is unique for each currently existing object and is always the
       same for each object.


id: sprintf
type: function
doc:
<comment>Description:</comment>
  Devuelve un string formateado
  
  Devuelve un string producido según el string de formateo dado por <strong>$format</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$format</strong>  El string de formateo está compuesto de cero o más directivas: caracteres
                   ordinarios (excluyendo <return>%</return>) que son copiados directamente al resultado, y
                   especificaciones de conversión, donde cada una de las cuales da lugar a extraer
                   su propio parámetro. Esto se aplica tanto para <strong>sprintf()</strong> como para <strong>printf()</strong>.
                   
                   Cada especificación de conversión consiste en un signo de porcentaje  (<return>%</return>),
                   seguido por uno o más de estos elementos, en orden:  Un especificador de signo
                   opcional que fuerza a usar un signo (- o +) en un número. Por defecto, sólo el
                   signo - se utiliza en un número si es negativo. Esta especificación fuerza
                   números positivos para que también tengan adjunto el signo + (agregado en PHP
                   4.3.0).  Un especificador de relleno opcional que indica qué carácter se utiliza
                   para rellenar el resultado hasta el tamaño justo del string. Este puede ser un
                   carácter de espacio o un  <return>0</return> (el carácter cero). El valor por defecto es rellenar
                   con espacios. Un carácter de relleno alternativo se puede especificar
                   prefijándolo con una comilla simple (<return>'</return>). Ver los ejemplos más adelante.  Un
                   especificador de alineación opcional que indica si el resultado debe ser alineado
                   a la izquierda o a la derecha. El valor por defecto es justificado a la derecha,
                   un carácter <return>-</return> lo justificará a la izquierda.  Un número opcional, un
                   especificador de ancho que indica de cuántos caracteres (mínimo) resultará esta
                   conversión.  Un especificador de precisión opcional en la forma de un punto (<return>.</return>)
                   seguido de un string opcional de dígitos decimales que indica cuántos dígitos
                   decimales deben mostrarse para los números de punto flotante. Cuando se utiliza
                   este especificador con un string, actúa como un punto de corte, estableciendo un
                   límite máximo de caracteres al string. Además, el carácter para empleado cuando
                   se rellena un número podría especificarse opcionalmente entre el punto y el
                   dígito.  Un especificador de tipo que indica con qué tipo deben ser tratados los
                   datos del argumento. Los tipos posibles son:  <return>%</return> - un carácter de porcentaje
                   literal. No se requiere argumento. <return>b</return> - el argumento es tratado como un valor de
                   tipo integer y presentado como un número binario. <return>c</return> - el argumento es tratado
                   como un valor de tipo integer y presentado como el carácter con ese valor ASCII.
                   <return>d</return> - el argumento es tratado como un valor de tipo integer y presentado como un
                   número decimal (con signo). <return>e</return> - el argumento es tratado con notación científica
                   (e.g. 1.2e+2). El especificador de precisión indica el número de dígitos después
                   del punto decimal a partir de PHP 5.2.1. En versiones anteriores, se tomó como el
                   número de dígitos significativos (menos uno). <return>E</return> - como <return>%e</return> pero utiliza la letra
                   mayúscula (e.g. 1.2E+2). <return>f</return> - el argumento es tratado como un valor de tipo float
                   y presentado como un número de punto flotante (considerando la configuración
                   regional). <return>F</return> - el argumento es tratado como un valor de tipo float y presentado
                   como un número de punto flotante (no considerando la configuración regional).
                   Disponible desde PHP 4.3.10 y PHP 5.0.3. <return>g</return> - lo mismo que <return>%e</return> y <return>%f</return>. <return>G</return> - lo mismo
                   que <return>%E</return> y <return>%f</return>. <return>o</return> - el argumento es tratado como un valor de tipo integer y
                   presentado como un número octal. <return>s</return> - el argumento es tratado y presentado como un
                   string. <return>u</return> - el argumento es tratado como un valor de tipo integer y presentado
                   como un número decimal sin signo. <return>x</return> - el argumento es tratado como un valor de
                   tipo integer y presentado como un número hexadecimal (con las letras en
                   minúsculas). <return>X</return> - el argumento es tratado como un valor de tipo integer y
                   presentado como un número hexadecimal (con las letras en mayúsculas).
                   
                   Un especificador de signo opcional que fuerza a usar un signo (- o +) en un
                   número. Por defecto, sólo el signo - se utiliza en un número si es negativo. Esta
                   especificación fuerza números positivos para que también tengan adjunto el signo
                   + (agregado en PHP 4.3.0).
                   
                   Un especificador de relleno opcional que indica qué carácter se utiliza para
                   rellenar el resultado hasta el tamaño justo del string. Este puede ser un
                   carácter de espacio o un  <return>0</return> (el carácter cero). El valor por defecto es rellenar
                   con espacios. Un carácter de relleno alternativo se puede especificar
                   prefijándolo con una comilla simple (<return>'</return>). Ver los ejemplos más adelante.
                   
                   Un especificador de alineación opcional que indica si el resultado debe ser
                   alineado a la izquierda o a la derecha. El valor por defecto es justificado a la
                   derecha, un carácter <return>-</return> lo justificará a la izquierda.
                   
                   Un número opcional, un especificador de ancho que indica de cuántos caracteres
                   (mínimo) resultará esta conversión.
                   
                   Un especificador de precisión opcional en la forma de un punto (<return>.</return>) seguido de un
                   string opcional de dígitos decimales que indica cuántos dígitos decimales deben
                   mostrarse para los números de punto flotante. Cuando se utiliza este
                   especificador con un string, actúa como un punto de corte, estableciendo un
                   límite máximo de caracteres al string. Además, el carácter para empleado cuando
                   se rellena un número podría especificarse opcionalmente entre el punto y el
                   dígito.
                   
                   Un especificador de tipo que indica con qué tipo deben ser tratados los datos del
                   argumento. Los tipos posibles son:  <return>%</return> - un carácter de porcentaje literal. No se
                   requiere argumento. <return>b</return> - el argumento es tratado como un valor de tipo integer y
                   presentado como un número binario. <return>c</return> - el argumento es tratado como un valor de
                   tipo integer y presentado como el carácter con ese valor ASCII. <return>d</return> - el argumento
                   es tratado como un valor de tipo integer y presentado como un número decimal (con
                   signo). <return>e</return> - el argumento es tratado con notación científica (e.g. 1.2e+2). El
                   especificador de precisión indica el número de dígitos después del punto decimal
                   a partir de PHP 5.2.1. En versiones anteriores, se tomó como el número de dígitos
                   significativos (menos uno). <return>E</return> - como <return>%e</return> pero utiliza la letra mayúscula (e.g.
                   1.2E+2). <return>f</return> - el argumento es tratado como un valor de tipo float y presentado
                   como un número de punto flotante (considerando la configuración regional). <return>F</return> - el
                   argumento es tratado como un valor de tipo float y presentado como un número de
                   punto flotante (no considerando la configuración regional). Disponible desde PHP
                   4.3.10 y PHP 5.0.3. <return>g</return> - lo mismo que <return>%e</return> y <return>%f</return>. <return>G</return> - lo mismo que <return>%E</return> y <return>%f</return>. <return>o</return> - el
                   argumento es tratado como un valor de tipo integer y presentado como un número
                   octal. <return>s</return> - el argumento es tratado y presentado como un string. <return>u</return> - el argumento
                   es tratado como un valor de tipo integer y presentado como un número decimal sin
                   signo. <return>x</return> - el argumento es tratado como un valor de tipo integer y presentado
                   como un número hexadecimal (con las letras en minúsculas). <return>X</return> - el argumento es
                   tratado como un valor de tipo integer y presentado como un número hexadecimal
                   (con las letras en mayúsculas).
                   
                   Las variables serán forzadas por el especificador a un tipo adecuado: Manejo de
                   tiposTipoEspecificador<return>string</return><return>s</return><return>integer</return><return>d</return>,  <return>u</return>,  <return>c</return>, <return>o</return>, <return>x</return>, <return>X</return>, <return>b</return><return>double</return><return>g</return>, <return>G</return>, <return>e</return>, <return>E</return>, <return>f</return>, <return>F</return>
                   
                   Intentar usar una combinación de especificadores de string y ancho con conjuntos
                   de caracteres que requieran más de un byte por carácter podría tener resultados
                   inesperados.
                   
                   El string de formato soporta la numeración/intercambio de argumentos. Aquí está
                   un ejemplo: Intercambio de argumentos
                   ]]> Esto producirá " Hay 5 monos en el árbol". Pero imaginemos que estamos
                   creando un string de formato en un fichero aparte, generalmente por que nos
                   gustaría internacionalizarlo, reescribiéndolo así: Intercambio de argumentos
                   ]]> Ahora tenemos un problema. El orden de los marcadores de posición en el
                   string de formato no coincide con el orden de los argumentos en el código. Nos
                   gustaría dejar el código tal cual y simplemente indicar en el string de formato a
                   cuáles argumentos de los marcadores de posición se refieren. Tendríamos que
                   escribir el string de formato de esta forma: Intercambio de argumentos
                   ]]> Un beneficio adicional es que se pueden repetir los marcadores de posición
                   sin agregar más argumentos en el código. Por ejemplo: Intercambio de argumentos
                   ]]> Cuando se utiliza el intercambio de argumentos, el especificador de posición
                   <return>n$</return> debe ir inmediatamente después del signo de porcentaje (<return>%</return>), antes de cualquier
                   otro especificador, tal como se muestra en el ejemplo siguiente. Especificar un
                   carácter de relleno
                   ]]>El resultado del ejemplo sería: Especificador de posición con otros
                   especificadores
                   ]]>El resultado del ejemplo sería:
                   
                   El resultado del ejemplo sería:
                   
                   El resultado del ejemplo sería:
                   
                   Tratar de utilizar marcadores de posición mayores que <info>PHP_INT_MAX</info> provocará que
                   <strong>sprintf()</strong> genere mensajes de advertencia.
                   
                   El especificador de tipo <return>c</return> ignora el relleno y el ancho
  <info>mixed</info>   <strong>$args</strong>    
  <info>mixed</info>   <strong>$...</strong>     

<comment>Return:</comment>
  <info>string</info>  Devuelve un string producido de acuerdo con el string de formato <strong>$format</strong>.

<comment>See Also:</comment>
   * <strong>printf()</strong>
   * <strong>sscanf()</strong>
   * <strong>fscanf()</strong>
   * <strong>vsprintf()</strong>
   * <strong>number_format()</strong>
   * <strong>date()</strong>


id: sqlsrv_begin_transaction
type: function
doc:
<comment>Description:</comment>
  Inicia una transacción de base de datos
  
  La transacción iniciada por <strong>sqlsrv_begin_transaction()</strong> incluye  todas las sentencias que fueron
  ejecutadas después de la llamada a <strong>sqlsrv_begin_transaction()</strong> y antes de llamar a
  <strong>sqlsrv_rollback()</strong> o <strong>sqlsrv_commit()</strong>.  Las transacciones explícitas deben empezar y ser
  consolidadas (commit) o revertidas utilizando  estas funciones en vez de ejecutar sentencias SQL
  que empiecen y consoliden/reviertan transacciones. Para más información, ver   SQLSRV
  Transactions.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  El recurso de la conexión devuelta por una llamada a <strong>sqlsrv_connect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sqlsrv_commit()</strong>
   * <strong>sqlsrv_rollback()</strong>


id: sqlsrv_cancel
type: function
doc:
<comment>Description:</comment>
  Cancela una sentencia de base de datos
  
  Cancela una sentencia de base de datos. Cualquier resultado asociado con la sentencia que no haya
  sido  utilizado será eliminado. Después de llamar a <strong>sqlsrv_cancel()</strong>   , la sentencia especificada
  puede ser reejecutada si fue creada con <strong>sqlsrv_prepare()</strong>. No es necesario llamar a
  <strong>sqlsrv_cancel()</strong> si todos los resultados asociados se han utilizado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  El recurso de la sentencia que se va a cancelar.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sqlsrv_free_stmt()</strong>
   * <strong>sqlsrv_prepare()</strong>


id: sqlsrv_client_info
type: function
doc:
<comment>Description:</comment>
  Devuelve información sobre el cliente y la conexión especificada
  
  Devuelve información sobre el cliente y la conexión especificada

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La conexión sobre la que se va a retornar información.

<comment>Return:</comment>
  <info>array</info>  Devuelve un array asociativo con las claves que se describen en la tabla siguiente.
         Devuelve <info>false</info> en caso constrario.  Array devuelto por
         sqlsrv_client_infoClaveDescripciónDriverDllNameSQLNCLI10.DLLDriverODBCVerVersión ODBC
         (xx.yy)DriverVerVersión de la DLL del cliente nativo SQL Server
         (10.5.xxx)ExtensionVerVersión de la biblioteca php_sqlsrv.dll (2.0.xxx.x)

<comment>See Also:</comment>
   * <strong>sqlsrv_server_info()</strong>


id: sqlsrv_close
type: function
doc:
<comment>Description:</comment>
  Cierra una conexión abierta y libera los recursos asociados a la conexión
  
  Cierra una conexión abierta y libera los recursos asociados a la conexión.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La conexión que se va a cerrar.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sqlsrv_connect()</strong>


id: sqlsrv_commit
type: function
doc:
<comment>Description:</comment>
  Consolida una transacción que se inició con sqlsrv_begin_transaction
  
  Consolida una transacción que se inició con <strong>sqlsrv_begin_transaction()</strong>.  La conexión retorna al
  modo auto-commit después de que se llame a <strong>sqlsrv_commit()</strong>.  La transacción que se consolida
  incluye todas las sentencias que fueron ejecutadas después de la llamada a
  <strong>sqlsrv_begin_transaction()</strong>.  Las transacciones explícitas deben iniciarse y consolidarse o
  revertirse utilizando estas funciones en vez de ejecutar las sentencias SQL que empiezan y
  consolidan/revierten transacciones. Para más información, ver  SQLSRV Transactions.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La conexión en la que se va a consolidar la transacción.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sqlsrv_begin_transaction()</strong>
   * <strong>sqlsrv_rollback()</strong>


id: sqlsrv_configure
type: function
doc:
<comment>Description:</comment>
  Cambia la configuración de los drivers del gestionador de errores y de log 
  
  Cambia la configuración de los drivers del gestionador de errores y  de log.

<comment>Param:</comment>
  <info>string</info>  <strong>$setting</strong>  El nombre de la propiedad a configurar. Los valores posibles son
                    "WarningsReturnAsErrors", "LogSubsystems", and "LogSeverity".
  <info>mixed</info>   <strong>$value</strong>    El valor de la propiedad especificada. La tabla siguiente muestra los valores
                    posibles: Opciones de configuración de la gestión de errores y
                    logPropiedadesOpcionesWarningsReturnAsErrors1 (<info>true</info>) or 0
                    (<info>false</info>)LogSubsystemsSQLSRV_LOG_SYSTEM_ALL (-1)  SQLSRV_LOG_SYSTEM_CONN (2)
                    SQLSRV_LOG_SYSTEM_INIT (1)  SQLSRV_LOG_SYSTEM_OFF (0)  SQLSRV_LOG_SYSTEM_STMT
                    (4)  SQLSRV_LOG_SYSTEM_UTIL (8)LogSeveritySQLSRV_LOG_SEVERITY_ALL (-1)
                    SQLSRV_LOG_SEVERITY_ERROR (1)  SQLSRV_LOG_SEVERITY_NOTICE (4)
                    SQLSRV_LOG_SEVERITY_WARNING (2)

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * Gestionador de errores SQLSRV.
   * Actividad de log de SQLSRV.


id: sqlsrv_connect
type: function
doc:
<comment>Description:</comment>
  Abre una conexión a una base de datos Microsoft SQL Server 
  
  Abre una conexión a una base de datos Microsoft SQL Server. Por defecto, la conexión se intenta
  utilizando la autenticación Windows. Para conectar utilizando la autenticación SQL Server,
  incluir "UID" y "PWD" en el array de opciones de conexión.

<comment>Param:</comment>
  <info>string</info>  <strong>$serverName</strong>      El nombre del servidor en el que se ha establecido una conexión. Para
                           conectar  a una instancia específica, poner una barra invertida después
                           del nombre de servidor e indicar el nombre de la instancia (e.g.
                           NombreServidor\sqlexpress).
  <info>array</info>   <strong>$connectionInfo</strong>  Un array asociativo que especifica las opciones de conexión al servidor.
                           Si no se ha especificado ningún valor para el UID y PWD, la conexión  se
                           intentará utilizando la autenticación Windows. Para una lista completa de
                           claves   soportadas, ver Opciones de Conexión SQLSRV.

<comment>Return:</comment>
  <info>resource</info>  Un recurso de conexión. Si no se puede abrir la conexión, se retorna el valor <info>false</info> .

<comment>See Also:</comment>
   * <strong>sqlsrv_close()</strong>
   * <strong>sqlsrv_errors()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_errors
type: function
doc:
<comment>Description:</comment>
  Devuelve información de errores y alertas (warnings) de la última operación SQLSRV realizada
  
  Devuelve información de errores y alertas de la última operación SQLSRV realizada.

<comment>Param:</comment>
  <info>int</info>  <strong>$errorsOrWarnings</strong>  Determina si se ha de retornar información de error, alertas, o  ambas. Si
                          este parámetro no se informa, se devolverá tanto información de error como
                          de alerta. Este parámetro puede tomar los  siguientes valores:
                          SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.

<comment>Return:</comment>
  <info>mixed</info>  Si se produjeron errores y/o warnings en la última operación sqlsrv, se devolverá un array
         de arrays conteniendo información de error. Si no se produjeron errores y/o alertas en la
         última operación sqlsrv, se devolverá <info>null</info>. La siguiente tabla describe la estructura de
         los arrays devueltos: Array devuelto por sqlsrv_errorsClaveDescripciónSQLSTATEPara errores
         que se originan en el driver ODBC driver, el SQLSTATE devuelto  por ODBC. Para errores que
         se originan en los drivers de Microsoft para PHP para  SQL Server, un SQLSTATE de IMSSP.
         Para alertas que se originan en los drivers de Microsoft para PHP para SQL Server, un
         SQLSTATE de 01SSP. codePara errores que se originan en SQL Server, el código de error SQL
         Server  nativo. Para errores que se originan en el driver ODBC, el código  de error
         devuelto por ODBC. Para errores que se originan en los Drivers de Microsoft para PHP para
         SQL Server, los códigos de error de SQL Server para los Drivers de Microsoft para PHP.
         messageUna descripción del error.

<comment>See Also:</comment>
   * <strong>sqlsrv_configure()</strong>


id: sqlsrv_execute
type: function
doc:
<comment>Description:</comment>
  Ejecuta una sentencia preparada con sqlsrv_prepare
  
  Ejecuta una sentencia preparada con  <strong>sqlsrv_prepare()</strong>. Esta  función es ideal para ser ejecutar
  múltiples veces una sentencia preparada  con diferentes valores de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  Un recurso de sentencia devuelto por <strong>sqlsrv_prepare()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sqlsrv_prepare()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_fetch
type: function
doc:
<comment>Description:</comment>
  Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado
  
  Hace que esté disponible para ser leída la siguiente fila del conjunto de resultado. Utilizar
  <strong>sqlsrv_get_field()</strong> para leer los campos de la fila.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>    Un recurso de consulta creado por la ejecución de <strong>sqlsrv_query()</strong>  o
                     <strong>sqlsrv_execute()</strong>.
  <info>int</info>       <strong>$row</strong>     La fila que será accedida. Este parámetro puede utilizarse si la consulta
                     especificada se preparó con un cursor con scroll. En ese caso, el parámetro
                     puede tomar uno de los siguientes valores:
                     SQLSRV_SCROLL_NEXTSQLSRV_SCROLL_PRIORSQLSRV_SCROLL_FIRSTSQLSRV_SCROLL_LASTSQLSRV_SCROLL_ABSOLUTESQLSRV_SCROLL_RELATIVE
  <info>int</info>       <strong>$offset</strong>  Especifica la fila que será accedida si el parámetro de fila se configura como
                     <info>SQLSRV_SCROLL_ABSOLUTE</info> o <info>SQLSRV_SCROLL_RELATIVE</info>. Notar que la primera fila en
                     el  conjunto resultado tiene el índice 0.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve <info>true</info> si la fila siguiente del conjunto de resultado se obtuvo satisfactoriamente,
         <info>false</info> si se produce un error, y <info>null</info> si no hay más filas en el conjunto de resultado.

<comment>See Also:</comment>
   * <strong>sqlsrv_get_field()</strong>
   * <strong>sqlsrv_fetch_array()</strong>
   * <strong>sqlsrv_fetch_object()</strong>


id: sqlsrv_fetch_array
type: function
doc:
<comment>Description:</comment>
  Devuelve una fila como un array
  
  Devuelve la siguiente fila de datos disponible como un array asociativo, un array  numérico, o
  ambos (por defecto).

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>       Un recurso de sentencia devuelta por sqlsrv_query o sqlsrv_prepare.
  <info>int</info>       <strong>$fetchType</strong>  Una constante predefinida con el tipo de array a devolver. Los valores
                        posibles son <info>SQLSRV_FETCH_ASSOC</info>,  <info>SQLSRV_FETCH_NUMERIC</info>, y  <info>SQLSRV_FETCH_BOTH</info>
                        (por defecto).
                        
                        El tipo de objeto devuelto SQLSRV_FETCH_ASSOC no debe utilizarse cuando se
                        trate un   conjunto de resultados con múltiples columnas con el mismo
                        nombre.
  <info>int</info>       <strong>$row</strong>        Especifica la fila para acceder a un conjunto de resultados que utiliza un
                        cursor con scroll.  Los valores posibles son <info>SQLSRV_SCROLL_NEXT</info>,
                        <info>SQLSRV_SCROLL_PRIOR</info>, <info>SQLSRV_SCROLL_FIRST</info>,  <info>SQLSRV_SCROLL_LAST</info>,
                        <info>SQLSRV_SCROLL_ABSOLUTE</info> y,  <info>SQLSRV_SCROLL_RELATIVE</info> (por defecto). Cuando se
                        especifica este parámetro, el parámetro <strong>$fetchType</strong> debe ser definido
                        explícitamente.
  <info>int</info>       <strong>$offset</strong>     Especifica la fila a la que se desea acceder si el parámetro de fila se
                        define como  <info>SQLSRV_SCROLL_ABSOLUTE</info> o <info>SQLSRV_SCROLL_RELATIVE</info>. Notar que la
                        primera fila en un conjunto de resultado tiene el índice 0.

<comment>Return:</comment>
  <info>array</info>  Devuelve un array en caso de éxito, <info>null</info> si no hay más filas a devolver, y   <info>false</info> si se
         produce un error.

<comment>See Also:</comment>
   * <strong>sqlsrv_connect()</strong>
   * <strong>sqlsrv_query()</strong>
   * <strong>sqlsrv_errors()</strong>
   * <strong>sqlsrv_fetch()</strong>


id: sqlsrv_fetch_object
type: function
doc:
<comment>Description:</comment>
  Devuelve la siguiente fila de datos de un conjunto resultado como un objeto
  
  Devuelve la siguiente fila de datos de un conjunto resultado como una instancia de la clase
  especificada, donde las propiedades correspondientes a los nombres de los campos de la fila
  recuperada y los valores, se corresponden con los valores de la fila recuperada.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        Un recurso de consulta creado por <strong>sqlsrv_query()</strong> o  <strong>sqlsrv_execute()</strong>.
  <info>string</info>    <strong>$className</strong>   El nombre de la clase a instanciar. Si no se especifica el nombre de la
                         clase,  se instanciará la clase stdClass.
  <info>array</info>     <strong>$ctorParams</strong>  Los valores pasados al constructor de la clase especificada. Si el
                         constructor  de la clase especificada tiene parámetros, se proporcionará el
                         array  ctorParams.
  <info>int</info>       <strong>$row</strong>         La fila a la que se accederá. Este parámetro únicamente puede utilizarse si
                         la consulta  especificada se preparó con un cursor con scroll. En ese caso,
                         este parámetro  puede tomar uno de los siguientes valores:
                         SQLSRV_SCROLL_NEXTSQLSRV_SCROLL_PRIORSQLSRV_SCROLL_FIRSTSQLSRV_SCROLL_LASTSQLSRV_SCROLL_ABSOLUTESQLSRV_SCROLL_RELATIVE
  <info>int</info>       <strong>$offset</strong>      Especifica la fila a la que se accederá si el parámetro de fila se ha
                         especificado como  <info>SQLSRV_SCROLL_ABSOLUTE</info> o <info>SQLSRV_SCROLL_RELATIVE</info>. Notar
                         que la primera fila en un  conjunto de resultado tiene el índice 0.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve un objeto en caso de éxito, <info>null</info> si no hay más filas a devolver, y <info>false</info> si se
         produce un error o si la clase especificada no existe.

<comment>See Also:</comment>
   * <strong>sqlsrv_fetch()</strong>
   * <strong>sqlsrv_fetch_array()</strong>


id: sqlsrv_field_metadata
type: function
doc:
<comment>Description:</comment>
  Obtiene la metadata de los campos de una consulta preparada por  
    sqlsrv_prepare o sqlsrv_query
    
  
  Obtiene la metadata de los campos de una consulta preparada por <strong>sqlsrv_prepare()</strong> o <strong>sqlsrv_query()</strong>.
  <strong>sqlsrv_field_metadata()</strong> puede llamarse en una consulta antes   o despues de la ejecución de la
  consulta.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  El recurso de la consulta de la que se obtendrá los metadatos.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve un array de arrays en caso de éxito. En caso contrario, <info>false</info>. Cada array devuelto
         se describe en la siguiente tabla: Array devuelto por
         sqlsrv_field_metadataClaveDescripciónNameEl nombre del campo.TypeEl valor numérico del tipo
         SQL.SizeEl número de caracteres para los campos de tipo carácter, el número de  bytes para
         los campos de tipo binario, o <info>null</info> para el resto de tipos.PrecisionLa precisión para los
         tipos de precisión variable, <info>null</info>para el resto de tipos.ScaleLa escala para tipos de escala
         variable, <info>null</info> para el resto de tipos.NullableUna enumeración que indica si la columna
         puede tener nulos, no puede tener nulos, o si se desconoce. Para más información, ver
         sqlsrv_field_metadata  en la documentación de Microsoft SQLSRV.

<comment>See Also:</comment>
   * <strong>sqlsrv_client_info()</strong>


id: sqlsrv_free_stmt
type: function
doc:
<comment>Description:</comment>
  Frees all resources for the specified statement
  
  Frees all resources for the specified statement. The statement cannot be used  after
  <strong>sqlsrv_free_stmt()</strong> has been called on it. If  <strong>sqlsrv_free_stmt()</strong> is called on an in-progress
  statement  that alters server state, statement execution is terminated and the statement  is
  rolled back.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  The statement for which resources are freed.  Note that <info>null</info> is a valid parameter
                   value. This allows the function to be  called multiple times in a script.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sqlsrv_cancel()</strong>


id: sqlsrv_get_config
type: function
doc:
<comment>Description:</comment>
  Returns the value of the specified configuration setting
  
  Returns the value of the specified configuration setting.

<comment>Param:</comment>
  <info>string</info>  <strong>$setting</strong>  The name of the setting for which the value is returned. For a list of
                    configurable settings, see <strong>sqlsrv_configure()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value of the specified setting. If an invalid setting is specified,  <info>false</info> is
         returned.

<comment>See Also:</comment>
   * <strong>sqlsrv_configure()</strong>


id: sqlsrv_get_field
type: function
doc:
<comment>Description:</comment>
  Gets field data from the currently selected row
  
  Gets field data from the currently selected row. Fields must be accessed in  order. Field indices
  start at 0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        A statement resource returned by <strong>sqlsrv_query()</strong> or  <strong>sqlsrv_execute()</strong>.
  <info>int</info>       <strong>$fieldIndex</strong>  The index of the field to be retrieved. Field indices start at 0. Fields
                         must be accessed in order. i.e. If you access field index 1, then field
                         index 0 will not be available.
  <info>int</info>       <strong>$getAsType</strong>   The PHP data type for the returned field data. If this parameter is not
                         set, the field data will be returned as its default PHP data type. For
                         information about default PHP data types, see  Default PHP Data Types  in
                         the Microsoft SQLSRV documentation.

<comment>Return:</comment>
  <info>mixed</info>  Returns data from the specified field on success. Returns <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>sqlsrv_fetch()</strong>
   * <strong>sqlsrv_fetch_array()</strong>
   * <strong>sqlsrv_fetch_object()</strong>


id: sqlsrv_has_rows
type: function
doc:
<comment>Description:</comment>
  Indicates whether the specified statement has rows
  
  Indicates whether the specified statement has rows.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A statement resource returned by <strong>sqlsrv_query()</strong> or  <strong>sqlsrv_execute()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the specified statement has rows and <info>false</info> if the statement  does not have
        rows or if an error occurred.

<comment>See Also:</comment>
   * <strong>sqlsrv_num_rows()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_next_result
type: function
doc:
<comment>Description:</comment>
  Makes the next result of the specified statement active
  
  Makes the next result of the specified statement active. Results include result  sets, row counts,
  and output parameters.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  The statement on which the next result is being called.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>true</info> if the next result was successfully retrieved, <info>false</info> if an error  occurred,
         and <info>null</info> if there are no more results to retrieve.

<comment>See Also:</comment>
   * <strong>sqlsrv_query()</strong>
   * <strong>sqlsrv_fetch_array()</strong>
   * <strong>sqlsrv_rows_affected()</strong>


id: sqlsrv_num_fields
type: function
doc:
<comment>Description:</comment>
  Retrieves the number of fields (columns) on a statement
  
  Retrieves the number of fields (columns) on a statement.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  The statement for which the number of fields is returned.  <strong>sqlsrv_num_fields()</strong>
                   can be called on a statement before  or after statement execution.

<comment>Return:</comment>
  <info>mixed</info>  Returns the number of fields on success. Returns <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>sqlsrv_field_metadata()</strong>
   * <strong>sqlsrv_fetch()</strong>
   * <strong>sqlsrv_get_field()</strong>


id: sqlsrv_num_rows
type: function
doc:
<comment>Description:</comment>
  Retrieves the number of rows in a result set
  
  Retrieves the number of rows in a result set. This function requires that the  statement resource
  be created with a static or keyset cursor. For more information,  see <strong>sqlsrv_query()</strong>,
  <strong>sqlsrv_prepare()</strong>,  or Specifying a Cursor Type and Selecting Rows  in the Microsoft SQLSRV
  documentation.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  The statement for which the row count is returned. The statement resource  must
                   be created with a static or keyset cursor. For more information, see
                   <strong>sqlsrv_query()</strong>, <strong>sqlsrv_prepare()</strong>, or  Specifying a Cursor Type and Selecting Rows
                   in the Microsoft SQLSRV documentation.

<comment>Return:</comment>
  <info>mixed</info>  Returns the number of rows retrieved on success and <info>false</info> if an error occurred.  If a
         forward cursor (the default) or dynamic cursor is used, <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>sqlsrv_has_rows()</strong>
   * <strong>sqlsrv_rows_affected()</strong>


id: sqlsrv_prepare
type: function
doc:
<comment>Description:</comment>
  Prepares a query for execution
  
  Prepares a query for execution. This function is ideal for preparing a query  that will be
  executed multiple times with different parameter values.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>     A connection resource returned by <strong>sqlsrv_connect()</strong>.
  <info>string</info>    <strong>$sql</strong>      The string that defines the query to be prepared and executed.
  <info>array</info>     <strong>$params</strong>   An array specifying parameter information when executing a parameterized
                      query. Array elements can be any of the following: A literal valueA PHP
                      variableAn array with this structure:  array($value [, $direction [, $phpType
                      [, $sqlType]]]) The following table describes the elements in the array
                      structure above:
  <info>array</info>     <strong>$options</strong>  An array specifying query property options. The supported keys are described
                      in the following table:

<comment>Return:</comment>
  <info>mixed</info>  Returns a statement resource on success and <info>false</info> if an error occurred.

<comment>See Also:</comment>
   * <strong>sqlsrv_execute()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_query
type: function
doc:
<comment>Description:</comment>
  Prepares and executes a query
  
  Prepares and executes a query.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>     A connection resource returned by <strong>sqlsrv_connect()</strong>.
  <info>string</info>    <strong>$sql</strong>      The string that defines the query to be prepared and executed.
  <info>array</info>     <strong>$params</strong>   An array specifying parameter information when executing a parameterized
                      query.  Array elements can be any of the following: A literal valueA PHP
                      variableAn array with this structure:  array($value [, $direction [, $phpType
                      [, $sqlType]]]) The following table describes the elements in the array
                      structure above:
  <info>array</info>     <strong>$options</strong>  An array specifying query property options. The supported keys are described
                      in the following table:

<comment>Return:</comment>
  <info>mixed</info>  Returns a statement resource on success and <info>false</info> if an error occurred.

<comment>See Also:</comment>
   * <strong>sqlsrv_prepare()</strong>
   * <strong>sqlsrv_execute()</strong>


id: sqlsrv_rollback
type: function
doc:
<comment>Description:</comment>
  Rolls back a transaction that was begun with 
    sqlsrv_begin_transaction
  
  Rolls back a transaction that was begun with <strong>sqlsrv_begin_transaction()</strong>  and returns the
  connection to auto-commit mode.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  The connection resource returned by a call to <strong>sqlsrv_connect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sqlsrv_begin_transaction()</strong>
   * <strong>sqlsrv_commit()</strong>


id: sqlsrv_rows_affected
type: function
doc:
<comment>Description:</comment>
  Returns the number of rows modified by the last INSERT, UPDATE, or 
    DELETE query executed
  
  Returns the number of rows modified by the last INSERT, UPDATE, or DELETE  query executed. For
  information about the number of rows returned by a SELECT  query, see <strong>sqlsrv_num_rows()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  The executed statement resource for which the number of affected rows is
                   returned.

<comment>Return:</comment>
  <info>int|false</info>  Returns the number of rows affected by the last INSERT, UPDATE, or DELETE query.  If no
             rows were affected, 0 is returned. If the number of affected rows cannot  be
             determined, -1 is returned. If an error occurred, <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>sqlsrv_num_rows()</strong>


id: sqlsrv_send_stream_data
type: function
doc:
<comment>Description:</comment>
  Sends data from parameter streams to the server
  
  Send data from parameter streams to the server. Up to 8 KB of data is sent  with each call.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A statement resource returned by <strong>sqlsrv_query()</strong> or  <strong>sqlsrv_execute()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if there is more data to send and <info>false</info> if there is not.

<comment>See Also:</comment>
   * <strong>sqlsrv_prepare()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_server_info
type: function
doc:
<comment>Description:</comment>
  Returns information about the server
  
  Returns information about the server.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  The connection resource that connects the client and the server.

<comment>Return:</comment>
  <info>array</info>  Returns an array as described in the following table: Returned ArrayCurrentDatabaseThe
         connected-to database.SQLServerVersionThe SQL Server version.SQLServerNameThe name of the
         server.

<comment>See Also:</comment>
   * <strong>sqlsrv_client_info()</strong>


id: sqrt
type: function
doc:
<comment>Description:</comment>
  Raíz cuadrada
  
  Devuelve la raíz cuadrada de <strong>$arg</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$arg</strong>  El argumento a procesar

<comment>Return:</comment>
  <info>float</info>  La raíz cuadrada de <strong>$arg</strong> o el valor especial <return>NAN</return> para números negativos.

<comment>See Also:</comment>
   * <strong>pow()</strong>


id: srand
type: function
doc:
<comment>Description:</comment>
  Seed the random number generator
  
  Seeds the random number generator with <strong>$seed</strong> or with a random value if <strong>$seed</strong> is <return>0</return>.
  
  No es necesario
  usar una semilla para usar el generador de números aleatorios con <strong>srand()</strong> o
  <strong>mt_srand()</strong> ya que se hace automáticamente.
  
  Because the Mt19937 (“Mersenne Twister”) engine accepts only a single 32 bit integer as the seed,
  the number of possible random sequences is limited to just 232 (i.e. 4,294,967,296), despite
  Mt19937’s huge period of 219937-1.
  
  When relying on either implicit or explicit random seeding, duplications will appear much earlier.
  Duplicated seeds are expected with 50% probability after less than 80,000 randomly generated seeds
  according to the birthday problem. A 10% probability of a duplicated seed happens after randomly
  generating roughly 30,000 seeds.
  
  This makes Mt19937 unsuitable for applications where duplicated sequences must not happen with
  more than a negligible probability. If reproducible seeding is required, both the
  <class>Random\Engine\Xoshiro256StarStar</class> and <class>Random\Engine\PcgOneseq128XslRr64</class> engines support much larger
  seeds that are unlikely to collide randomly. If reproducibility is not required, the
  <class>Random\Engine\Secure</class> engine provides cryptographically secure randomness.
  
  As of PHP 7.1.0, <strong>srand()</strong> has been made an alias of <strong>mt_srand()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$seed</strong>  An arbitrary <info>int</info> seed value.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * <strong>rand()</strong>
   * <strong>getrandmax()</strong>
   * <strong>mt_srand()</strong>


id: sscanf
type: function
doc:
<comment>Description:</comment>
  Interpreta un string de entrada de acuerdo con un formato
  
  La función <strong>sscanf()</strong> es la entrada análoga de <strong>printf()</strong>. <strong>sscanf()</strong> lee del string <strong>$str</strong> y lo
  interpreta de acuerdo con el <strong>$format</strong> especificado, el cual está descrito en la documentación para
  <strong>sprintf()</strong>.
  
  Cualquier espacio en blanco en el string de formato coincide con cualquier espacio en blanco en
  string de entrada. Esto significa que incluso un tabulador \t en el string de formato puede
  coincidir con un caracter simple de espacio en el string de entrada.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>     El <info>string</info> de entrada para ser interpretado.
  <info>string</info>  <strong>$format</strong>  El formato interpretado <strong>$str</strong>, el cual está descrito en la documentación para
                   <strong>sprintf()</strong> con las siguientes diferencia:  La función no es consciente de la
                   configuración regional. <return>F</return>, <return>g</return>, <return>G</return> y <return>b</return> no están soportados. <return>D</return> representa número
                   decimal. <return>i</return> representa integer con detección de base. <return>n</return> representa el número de
                   caracteres procesados hasta el momento.
  <info>mixed</info>   <strong>$...</strong>     Opcionalmente variables pasadas por referencia que contendrán los valores
                   interpretados.

<comment>Return:</comment>
  <info>mixed</info>  Si sólo se pasan dos parámetros a esta función, los valores interpretados se devolverán
         como una matriz. De lo contrario, si se pasan parámetros opcionales, la función devolverá
         el número de valores asignados. Los parámetros opcionales se deben pasar por referencia.
         
         Si hay más substrings esperados en el <strong>$format</strong> que los que hay disponibles en <strong>$str</strong>, será
         devuelto <return>-1</return>.

<comment>See Also:</comment>
   * <strong>fscanf()</strong>
   * <strong>printf()</strong>
   * <strong>sprintf()</strong>


id: ssdeep_fuzzy_compare
type: function
doc:
<comment>Description:</comment>
  Calculates the match score between two fuzzy hash signatures
  
  Calculates the match score between <strong>$signature1</strong> and <strong>$signature2</strong> using  context-triggered piecewise
  hashing, and returns the match score.

<comment>Param:</comment>
  <info>string</info>  <strong>$signature1</strong>  The first fuzzy hash signature string.
  <info>string</info>  <strong>$signature2</strong>  The second fuzzy hash signature string.

<comment>Return:</comment>
  <info>int</info>  Returns an integer from 0 to 100 on success, <info>false</info> otherwise.


id: ssdeep_fuzzy_hash
type: function
doc:
<comment>Description:</comment>
  Create a fuzzy hash from a string
  
  <strong>ssdeep_fuzzy_hash()</strong> calculates the hash of  <strong>$to_hash</strong> using  context-triggered piecewise hashing,
  and returns that hash.

<comment>Param:</comment>
  <info>string</info>  <strong>$to_hash</strong>  The input string.

<comment>Return:</comment>
  <info>string</info>  Returns a string on success, <info>false</info> otherwise.


id: ssdeep_fuzzy_hash_filename
type: function
doc:
<comment>Description:</comment>
  Create a fuzzy hash from a file
  
  <strong>ssdeep_fuzzy_hash_filename()</strong> calculates the hash  of the file specified by <strong>$file_name</strong> using
  context-triggered piecewise  hashing, and returns that hash.

<comment>Param:</comment>
  <info>string</info>  <strong>$file_name</strong>  The filename of the file to hash.

<comment>Return:</comment>
  <info>string</info>  Returns a string on success, <info>false</info> otherwise.


id: ssh2_auth_agent
type: function
doc:
<comment>Description:</comment>
  Authenticate over SSH using the ssh agent
  
  Authenticate over SSH using the ssh agent
  
  The <strong>ssh2_auth_agent()</strong> function will only be available  when the ssh2 extension is compiled with
  libssh &gt;= 1.2.3.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>   An SSH connection link identifier, obtained from a call to <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>  Remote user name.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ssh2_auth_hostbased_file
type: function
doc:
<comment>Description:</comment>
  Authenticate using a public hostkey
  
  Authenticate using a public hostkey read from a file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>         An SSH connection link identifier, obtained from a call to
                             <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>        
  <info>string</info>    <strong>$hostname</strong>        
  <info>string</info>    <strong>$pubkeyfile</strong>      
  <info>string</info>    <strong>$privkeyfile</strong>     
  <info>string</info>    <strong>$passphrase</strong>      If <strong>$privkeyfile</strong> is encrypted (which it should be), the passphrase must
                             be provided.
  <info>string</info>    <strong>$local_username</strong>  If <strong>$local_username</strong> is omitted, then the value for <strong>$username</strong> will be
                             used for it.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ssh2_auth_none
type: function
doc:
<comment>Description:</comment>
  Authenticate as "none"
  
  Attempt "none" authentication which usually will (and should) fail. As part of the failure, this
  function will return an array of accepted authentication methods.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>   An SSH connection link identifier, obtained from a call to <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>  Remote user name.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>true</info> if the server does accept "none" as an authentication method, or an array of
         accepted authentication methods on failure.


id: ssh2_auth_password
type: function
doc:
<comment>Description:</comment>
  Authenticate over SSH using a plain password
  
  Authenticate over SSH using a plain password. Since version 0.12 this function also supports
  keyboard_interactive method.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>   An SSH connection link identifier, obtained from a call to <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>  Remote user name.
  <info>string</info>    <strong>$password</strong>  Password for <strong>$username</strong>

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ssh2_auth_pubkey_file
type: function
doc:
<comment>Description:</comment>
  Authenticate using a public key
  
  Authenticate using a public key read from a file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>      An SSH connection link identifier, obtained from a call to <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>     
  <info>string</info>    <strong>$pubkeyfile</strong>   The public key file needs to be in OpenSSH's format. It should look
                          something like:
                          
                          ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110
  <info>string</info>    <strong>$privkeyfile</strong>  
  <info>string</info>    <strong>$passphrase</strong>   If <strong>$privkeyfile</strong> is encrypted (which it should be), the <strong>$passphrase</strong> must be
                          provided.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ssh2_connect
type: function
doc:
<comment>Description:</comment>
  Conecta a un servidor SSH
  
  Establece una conexión a un servidor SSH remoto.
  
  Una vez conectado, el cliente debería verificar la clave de host del servidor usando
  <strong>ssh2_fingerprint()</strong>, y entonces, autenticarse usando  la contreseña o la clave pública.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>       
  <info>int</info>     <strong>$port</strong>       
  <info>array</info>   <strong>$methods</strong>    <strong>$methods</strong> puede ser un array asociativo con, hasta 4 parámetros  descritos aquí
                      abajo.
                      
                      <strong>$methods</strong> puede ser un array asociativo  con todos o alguno de los siguientes
                      parámetros.ÍndiceSignificadoValores aceptados*kex Lista de métodos de
                      intercambio de claves a revelar, separados por comas  en orden de preferencia.
                      <return>diffie-hellman-group1-sha1</return>, <return>diffie-hellman-group14-sha1</return>, y
                      <return>diffie-hellman-group-exchange-sha1</return>hostkey Lista de métodos clave-host a
                      desvelar, separados por comas  en orden de preferencia. <return>ssh-rsa</return> y <return>ssh-dss</return>
                      client_to_server Associative array containing crypt, compression, and message
                      authentication code (MAC) method preferences for messages sent from client to
                      server. server_to_client Array asociativo que contiene el cifrado, la
                      compresión, y  las preferencias del método de código de autenticación de
                      mensajes (MAC)  para mensajes enviados del servidor al cliente.
                      
                      * - Los valores soportados dependen de los métodos soportados por la librería
                      subyacente. Mirar la documentación libssh2 para obtener información
                      adicional.
                      
                      <strong>$client_to_server</strong> y <strong>$server_to_client</strong> pueden ser un array asociativo  con
                      todos o algunos de los siguientes parámetros. ÍndiceSignificadoValores
                      soportados*cryptLista de métodos de cifrado a desvelar, separados por comas y
                      en orden de preferencia.<return>rijndael-cbc@lysator.liu.se</return>, <return>aes256-cbc</return>, <return>aes192-cbc</return>,
                      <return>aes128-cbc</return>, <return>3des-cbc</return>, <return>blowfish-cbc</return>, <return>cast128-cbc</return>, <return>arcfour</return>, y <return>none**</return>compLista de
                      los métodos de compresión a desvelar, separados por comas y en orden de
                      preferencia.<return>zlib</return> y <return>none</return> macLista de métodos MAC a desvelar, separados por
                      comas  y en orden de preferencia.<return>hmac-sha1</return>, <return>hmac-sha1-96</return>, <return>hmac-ripemd160</return>,
                      <return>hmac-ripemd160@openssh.com</return>, y <return>none**</return>
                      
                      Método de encriptación y MAC "<return>none</return>" Por razones de seguridad, <return>none</return> está
                      deshabilitado por la librería subyacente  libssh2 a menos que esté habilitado
                      explícitamente  durante el tiempo de construcción usando la optión apropiada
                      de ./configure. Lea la documentación  de dicha librería para más información.
                      
                      Por razones de seguridad, <return>none</return> está deshabilitado por la librería subyacente
                      libssh2 a menos que esté habilitado explícitamente  durante el tiempo de
                      construcción usando la optión apropiada de ./configure. Lea la documentación
                      de dicha librería para más información.
  <info>array</info>   <strong>$callbacks</strong>  <strong>$callbacks</strong> puede ser un array asociativo con todos o alguno de los siguientes
                      parámtros.  Parámetros de devolución ÍndiceSignificadoPrototipoignore Nombre
                      de la función a llamar cuando el paquete  <info>SSH2_MSG_IGNORE</info> es recibido  void
                      ignore_cb($message)debug Nombre de la función a llamar cuando el paquete
                      <info>SSH2_MSG_DEBUG</info> es recibido void debug_cb($message, $language,
                      $always_display)macerror Name of function to call when a packet is received
                      but the message authentication code failed.  If the callback returns <info>true</info>, the
                      mismatch will be ignored, otherwise the connection will be terminated. bool
                      macerror_cb($packet)disconnect Nombre de la función a llamar cuando el paquete
                      <info>SSH2_MSG_DISCONNECT</info> es recibido void disconnect_cb($reason, $message,
                      $language)

<comment>Return:</comment>
  <info>resource</info>  Devuelve un recurso en caso de éxito, o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_fingerprint()</strong>
   * <strong>ssh2_auth_none()</strong>
   * <strong>ssh2_auth_password()</strong>
   * <strong>ssh2_auth_pubkey_file()</strong>


id: ssh2_disconnect
type: function
doc:
<comment>Description:</comment>
  Close a connection to a remote SSH server
  
  Close a connection to a remote SSH server.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  An SSH connection link identifier, obtained from a call to <strong>ssh2_connect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_connect()</strong>


id: ssh2_exec
type: function
doc:
<comment>Description:</comment>
  Execute a command on a remote server
  
  Execute a command at the remote end and allocate a channel for it.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>            An SSH connection link identifier, obtained from a call to
                                <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$command</strong>            
  <info>string</info>    <strong>$pty</strong>                
  <info>array</info>     <strong>$env</strong>                <strong>$env</strong> may be passed as an associative array of name/value pairs to
                                set in the target environment.
  <info>int</info>       <strong>$width</strong>              Width of the virtual terminal.
  <info>int</info>       <strong>$height</strong>             Height of the virtual terminal.
  <info>int</info>       <strong>$width_height_type</strong>  <strong>$width_height_type</strong> should be one of <info>SSH2_TERM_UNIT_CHARS</info> or
                                <info>SSH2_TERM_UNIT_PIXELS</info>.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a stream on success o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_connect()</strong>
   * <strong>ssh2_shell()</strong>
   * <strong>ssh2_tunnel()</strong>


id: ssh2_fetch_stream
type: function
doc:
<comment>Description:</comment>
  Fetch an extended data stream
  
  Fetches an alternate substream associated with an SSH2 channel stream. The SSH2 protocol currently
  defines only one substream, STDERR, which has a substream ID of <info>SSH2_STREAM_STDERR</info> (defined as 1).

<comment>Param:</comment>
  <info>resource</info>  <strong>$channel</strong>   
  <info>int</info>       <strong>$streamid</strong>  An SSH2 channel stream.

<comment>Return:</comment>
  <info>resource</info>  Returns the requested stream resource.

<comment>See Also:</comment>
   * <strong>ssh2_shell()</strong>
   * <strong>ssh2_exec()</strong>
   * <strong>ssh2_connect()</strong>


id: ssh2_fingerprint
type: function
doc:
<comment>Description:</comment>
  Retrieve fingerprint of remote server
  
  Returns a server hostkey hash from an active session.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  An SSH connection link identifier, obtained from a call to <strong>ssh2_connect()</strong>.
  <info>int</info>       <strong>$flags</strong>    <strong>$flags</strong> may be either of <info>SSH2_FINGERPRINT_MD5</info> or <info>SSH2_FINGERPRINT_SHA1</info>
                      logically ORed with <info>SSH2_FINGERPRINT_HEX</info> or <info>SSH2_FINGERPRINT_RAW</info>.

<comment>Return:</comment>
  <info>string</info>  Returns the hostkey hash as a string.


id: ssh2_forward_accept
type: function
doc:
<comment>Description:</comment>
  Accept a connection created by a listener
  
  Accepts a connection created by a listener.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info></info>  <strong>$desc</strong>  An SSH2 Listener resource, obtained from a call to <strong>ssh2_forward_listen()</strong>.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a stream resource,  o <info>false</info> en caso de error.


id: ssh2_forward_listen
type: function
doc:
<comment>Description:</comment>
  Bind a port on the remote server and listen for connections
  
  Binds a port on the remote server and listen for connections.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>          An SSH Session resource, obtained from a call to <strong>ssh2_connect()</strong>.
  <info>int</info>       <strong>$port</strong>             The port of the remote server.
  <info>string</info>    <strong>$host</strong>             
  <info>int</info>       <strong>$max_connections</strong>  

<comment>Return:</comment>
  <info>resource|false</info>  Returns an SSH2 Listener,  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_forward_accept()</strong>


id: ssh2_methods_negotiated
type: function
doc:
<comment>Description:</comment>
  Return list of negotiated methods
  
  Returns list of negotiated methods.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  An SSH connection link identifier, obtained from a call to <strong>ssh2_connect()</strong>.

<comment>Return:</comment>
  <info>array</info>  

<comment>See Also:</comment>
   * <strong>ssh2_connect()</strong>


id: ssh2_poll
type: function
doc:
<comment>Description:</comment>
  Poll the channels/listeners/streams for events
  
  Polls the channels/listeners/streams for events, and returns the number of descriptors which
  returned non-zero revents.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>array</info>  <strong>$desc</strong>     An indexed array of subarrays with the keys <return>'resource'</return> and <return>'events'</return>. The value of
                   the resource is a (channel) stream or an SSH2 Listener resource. The value of the
                   event are SSH2_POLL* flags bitwise ORed together. Each subarray will be populated
                   with an <return>'revents'</return> element on return, whose values are SSH2_POLL* flags bitwise
                   ORed together of the events that occurred.
  <info>int</info>    <strong>$timeout</strong>  The timeout in seconds.

<comment>Return:</comment>
  <info>int</info>  Returns the number of descriptors which returned non-zero revents.


id: ssh2_publickey_add
type: function
doc:
<comment>Description:</comment>
  Add an authorized publickey
    
  
  El subsistema de clave pública
  es utilizado para administrar claves públicas en un servidor al que el cliente
  ya está autenticado. Para autenticar a un sistema remoto
  usando autenticación de clave pública, use la función
  <strong>ssh2_auth_pubkey_file()</strong> en cambio.

<comment>Param:</comment>
  <info>resource</info>  <strong>$pkey</strong>        Publickey Subsystem resource created by <strong>ssh2_publickey_init()</strong>.
  <info>string</info>    <strong>$algoname</strong>    Publickey algorithm (e.g.): ssh-dss, ssh-rsa
  <info>string</info>    <strong>$blob</strong>        Publickey blob as raw binary data
  <info>bool</info>      <strong>$overwrite</strong>   If the specified key already exists, should it be overwritten?
  <info>array</info>     <strong>$attributes</strong>  Associative array of attributes to assign to this public key. Refer to
                         ietf-secsh-publickey-subsystem for a list of supported attributes. To mark
                         an attribute as mandatory, precede its name with an asterisk. If the server
                         is unable to support an attribute marked mandatory, it will abort the add
                         process.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_publickey_init()</strong>
   * <strong>ssh2_publickey_remove()</strong>
   * <strong>ssh2_publickey_list()</strong>


id: ssh2_publickey_init
type: function
doc:
<comment>Description:</comment>
  Initialize Publickey subsystem
    
  
  Request the Publickey subsystem from an already connected SSH2 server.
  
  The publickey subsystem allows an already connected and authenticated client to manage the list of
  authorized public keys stored on the target server in an implementation agnostic manner. If the
  remote server does not support the publickey subsystem, the <strong>ssh2_publickey_init()</strong> function will
  return <info>false</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  

<comment>Return:</comment>
  <info>resource|false</info>  Returns an <return>SSH2 Publickey Subsystem</return> resource for use with all other
                  ssh2_publickey_*() methods o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_publickey_add()</strong>
   * <strong>ssh2_publickey_remove()</strong>
   * <strong>ssh2_publickey_list()</strong>


id: ssh2_publickey_list
type: function
doc:
<comment>Description:</comment>
  List currently authorized publickeys
    
  
  List currently authorized publickeys.

<comment>Param:</comment>
  <info>resource</info>  <strong>$pkey</strong>  Publickey Subsystem resource

<comment>Return:</comment>
  <info>array</info>  Returns a numerically indexed array of keys, each of which is an associative array
         containing: name, blob, and attrs elements.
         
         Publickey elementsArray KeyMeaningnameName of algorithm used by this publickey, for
         example: <return>ssh-dss</return> or <return>ssh-rsa</return>.blobPublickey blob as raw binary data.attrsAttributes assigned
         to this publickey. The most common attribute, and the only one supported by publickey
         version 1 servers, is <return>comment</return>, which may be any freeform string.

<comment>See Also:</comment>
   * <strong>ssh2_publickey_init()</strong>
   * <strong>ssh2_publickey_add()</strong>
   * <strong>ssh2_publickey_remove()</strong>


id: ssh2_publickey_remove
type: function
doc:
<comment>Description:</comment>
  Remove an authorized publickey
    
  
  Removes an authorized publickey.

<comment>Param:</comment>
  <info>resource</info>  <strong>$pkey</strong>      Publickey Subsystem Resource
  <info>string</info>    <strong>$algoname</strong>  Publickey algorithm (e.g.): ssh-dss, ssh-rsa
  <info>string</info>    <strong>$blob</strong>      Publickey blob as raw binary data

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_publickey_init()</strong>
   * <strong>ssh2_publickey_add()</strong>
   * <strong>ssh2_publickey_list()</strong>


id: ssh2_scp_recv
type: function
doc:
<comment>Description:</comment>
  Solicita un fichero mediante SCP
  
  Copia un fichero desde el servidor remoto al sistema de ficheros local usando el protocolo SCP.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>      Un identificador de enlace de conexión a SSH, obtenido desde una llamada a
                          <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$remote_file</strong>  Ruta del fichero remoto.
  <info>string</info>    <strong>$local_file</strong>   Ruta del fichero local.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_scp_send()</strong>
   * <strong>copy()</strong>


id: ssh2_scp_send
type: function
doc:
<comment>Description:</comment>
  Envía un fichero mediante SCP
  
  Copia un fichero desde el sistema de ficheros local a un servidor remoto usando el protocolo SCP.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>      Un identificador de enlace de conexión a SSH, obtenido desde una llamada a
                          <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$local_file</strong>   Ruta del fichero local.
  <info>string</info>    <strong>$remote_file</strong>  Ruta del fichero remoto.
  <info>int</info>       <strong>$create_mode</strong>  El fichero debe ser creado con el modo especificado por <strong>$create_mode</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_scp_recv()</strong>
   * <strong>copy()</strong>


id: ssh2_send_eof
type: function
doc:
<comment>Description:</comment>
  Send EOF to stream
  
  Sends an EOF to the stream; this is typically used to close standard input, while keeping output
  and error alive. For example, one can send a remote process some data over standard input, close
  it to start processing, and still be able to read out the results without creating additional
  files.

<comment>Param:</comment>
  <info>resource</info>  <strong>$channel</strong>  An SSH stream; can be acquired through functions like <strong>ssh2_fetch_stream()</strong> or
                      <strong>ssh2_connect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_fetch_stream()</strong>


id: ssh2_sftp
type: function
doc:
<comment>Description:</comment>
  Inicializar el subsistema SFTP
  
  Solicita el subsistema SFTP desde un servidor SSH2 ya conectado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  Un identificador de enlace de conexión SSH obtenido a partir de una llamada a
                      <strong>ssh2_connect()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Este método devuelve un recurso <return>SFTP de SSH2</return> para emplearlo con todos los demás métodos
            ssh2_sftp_*() y la envoltura ssh2.sftp:// de fopen.

<comment>See Also:</comment>
   * <strong>ssh2_scp_recv()</strong>
   * <strong>ssh2_scp_send()</strong>


id: ssh2_sftp_chmod
type: function
doc:
<comment>Description:</comment>
  Changes file mode
  
  Attempts to change the mode of the specified file to that given in <strong>$mode</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>      An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$filename</strong>  Path to the file.
  <info>int</info>       <strong>$mode</strong>      Permissions on the file. See the <strong>chmod()</strong> for more details on this parameter.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>chmod()</strong>
   * <strong>ssh2_sftp()</strong>
   * <strong>ssh2_connect()</strong>


id: ssh2_sftp_lstat
type: function
doc:
<comment>Description:</comment>
  Stat a symbolic link
  
  Stats a symbolic link on the remote filesystem without following the link.
  
  This function is similar to using the <strong>lstat()</strong> function with the ssh2.sftp:// wrapper and returns
  the same values.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>  An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$path</strong>  Path to the remote symbolic link.

<comment>Return:</comment>
  <info>array</info>  See the documentation for <strong>stat()</strong> for details on the values which may be returned.

<comment>See Also:</comment>
   * <strong>ssh2_sftp_stat()</strong>
   * <strong>lstat()</strong>
   * <strong>stat()</strong>


id: ssh2_sftp_mkdir
type: function
doc:
<comment>Description:</comment>
  Create a directory
  
  Creates a directory on the remote file server with permissions set to <strong>$mode</strong>.
  
  This function is similar to using <strong>mkdir()</strong> with the ssh2.sftp:// wrapper.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>       An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$dirname</strong>    Path of the new directory.
  <info>int</info>       <strong>$mode</strong>       Permissions on the new directory. The actual mode is affected by the current
                        umask.
  <info>bool</info>      <strong>$recursive</strong>  If <strong>$recursive</strong> is <info>true</info> any parent directories required for <strong>$dirname</strong> will be
                        automatically created as well.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>mkdir()</strong>
   * <strong>ssh2_sftp_rmdir()</strong>


id: ssh2_sftp_readlink
type: function
doc:
<comment>Description:</comment>
  Return the target of a symbolic link
  
  Returns the target of a symbolic link.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>  An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$link</strong>  Path of the symbolic link.

<comment>Return:</comment>
  <info>string</info>  Returns the target of the symbolic <strong>$link</strong>.

<comment>See Also:</comment>
   * <strong>readlink()</strong>
   * <strong>ssh2_sftp_symlink()</strong>


id: ssh2_sftp_realpath
type: function
doc:
<comment>Description:</comment>
  Resolve the realpath of a provided path string
  
  Translates <strong>$filename</strong> into the effective real path on the remote filesystem.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>      An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$filename</strong>  

<comment>Return:</comment>
  <info>string</info>  Returns the real path as a string.

<comment>See Also:</comment>
   * <strong>realpath()</strong>
   * <strong>ssh2_sftp_symlink()</strong>
   * <strong>ssh2_sftp_readlink()</strong>


id: ssh2_sftp_rename
type: function
doc:
<comment>Description:</comment>
  Rename a remote file
  
  Renames a file on the remote filesystem.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>  An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$from</strong>  The current file that is being renamed.
  <info>string</info>    <strong>$to</strong>    The new file name that replaces <strong>$from</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>rename()</strong>


id: ssh2_sftp_rmdir
type: function
doc:
<comment>Description:</comment>
  Remove a directory
  
  Removes a directory from the remote file server.
  
  This function is similar to using <strong>rmdir()</strong> with the ssh2.sftp:// wrapper.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>     An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$dirname</strong>  

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>rmdir()</strong>
   * <strong>ssh2_sftp_mkdir()</strong>


id: ssh2_sftp_stat
type: function
doc:
<comment>Description:</comment>
  Stat a file on a remote filesystem
  
  Stats a file on the remote filesystem following any symbolic links.
  
  This function is similar to using the <strong>stat()</strong> function with the ssh2.sftp:// wrapper and returns
  the same values.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>  An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$path</strong>  

<comment>Return:</comment>
  <info>array</info>  See the documentation for <strong>stat()</strong> for details on the values which may be returned.

<comment>See Also:</comment>
   * <strong>ssh2_sftp_lstat()</strong>
   * <strong>lstat()</strong>
   * <strong>stat()</strong>


id: ssh2_sftp_symlink
type: function
doc:
<comment>Description:</comment>
  Create a symlink
  
  Creates a symbolic link named <strong>$link</strong> on the remote filesystem pointing to <strong>$target</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>    An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$target</strong>  Target of the symbolic link.
  <info>string</info>    <strong>$link</strong>    

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_sftp_readlink()</strong>
   * <strong>symlink()</strong>


id: ssh2_sftp_unlink
type: function
doc:
<comment>Description:</comment>
  Delete a file
  
  Deletes a file on the remote filesystem.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>      An SSH2 SFTP resource opened by <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$filename</strong>  

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>unlink()</strong>


id: ssh2_shell
type: function
doc:
<comment>Description:</comment>
  Request an interactive shell
  
  Open a shell at the remote end and allocate a stream for it.

<comment>Param:</comment>
  <info>resource</info>    <strong>$session</strong>            An SSH connection link identifier, obtained from a call to
                                  <strong>ssh2_connect()</strong>.
  <info>string</info>      <strong>$termtype</strong>           <strong>$termtype</strong> should correspond to one of the entries in the target
                                  system's <return>/etc/termcap</return> file.
  <info>array|null</info>  <strong>$env</strong>                <strong>$env</strong> may be passed as an associative array of name/value pairs to
                                  set in the target environment.
  <info>int</info>         <strong>$width</strong>              Width of the virtual terminal.
  <info>int</info>         <strong>$height</strong>             Height of the virtual terminal.
  <info>int</info>         <strong>$width_height_type</strong>  <strong>$width_height_type</strong> should be one of <info>SSH2_TERM_UNIT_CHARS</info> or
                                  <info>SSH2_TERM_UNIT_PIXELS</info>.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a stream recurso on success,  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ssh2_exec()</strong>
   * <strong>ssh2_tunnel()</strong>
   * <strong>ssh2_fetch_stream()</strong>


id: ssh2_tunnel
type: function
doc:
<comment>Description:</comment>
  Open a tunnel through a remote server
  
  Open a socket stream to an arbitrary host/port by way of the currently connected SSH server.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  An SSH connection link identifier, obtained from a call to <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$host</strong>     
  <info>int</info>       <strong>$port</strong>     

<comment>Return:</comment>
  <info>resource</info>  

<comment>See Also:</comment>
   * <strong>ssh2_connect()</strong>
   * <strong>fsockopen()</strong>


id: stat
type: function
doc:
<comment>Description:</comment>
  Da información acerca de un fichero
  
  Reúne las estadísticas del fichero nombrado por <strong>$filename</strong>. Si <strong>$filename</strong> es un enlace simbólico,
  las estadísticas son las del fichero mismo, no las del enlace simbólico.
  
  <strong>lstat()</strong> es idéntica a <strong>stat()</strong> excepto que está basada en el estado de los enlaces simbólicos.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Ruta del fichero.

<comment>Return:</comment>
  <info>array</info>  Formato del resultado de <strong>stat()</strong> y <strong>fstat()</strong>NuméricoAsociativoDescripción0devnúmero de
         dispositivo1inonúmero de i-nodo *2modemodo de protección del i-nodo3nlinknúmero de
         enlaces4uidID de usuario del propietario *5gidID de grupo del propietario *6rdevtipo de
         dispositivo, si es un dispositivo i-nodo7sizetamaño en bytes8atimemomento del último acceso
         (tiempo Unix)9mtimemomento de la última modificación (tiempo Unix)10ctimemomento de la
         última modificación del i-nodo (tiempo Unix)11blksizetamaño del bloque E/S del sistema de
         ficheros **12blocksnúmero de bloques de 512 bytes asignados ** * en Windows esto siempre
         será 0.
         
         ** Sólo válido para sistemas que soportan el tipo st_blksize type - otros sistemas (p.ej.
         Windows) devuelven -1.
         
         En caso de que se produzca un error, <strong>stat()</strong> devuelve <info>false</info>.
         
         Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32
         bits,
         algunas funciones de sistema de ficheros pueden devolver resultados inesperados para
         ficheros que
         son mayores de 2 GB.

<comment>See Also:</comment>
   * <strong>lstat()</strong>
   * <strong>fstat()</strong>
   * <strong>filemtime()</strong>
   * <strong>filegroup()</strong>


id: stats_absolute_deviation
type: function
doc:
<comment>Description:</comment>
  Returns the absolute deviation of an array of values
  
  Returns the absolute deviation of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The input array

<comment>Return:</comment>
  <info>float</info>  Returns the absolute deviation of the values in <strong>$a</strong>, or <info>false</info> if <strong>$a</strong> is empty or is not an
         array.


id: stats_cdf_beta
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the beta distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the beta
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, alpha, and beta
  denotes cumulative distribution function, the value of the random variable, and shape parameters
  of the beta distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxalphabeta2xCDFalphabeta3alphaxCDFbeta4betaxCDFalpha

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, alpha, or beta, determined by <strong>$which</strong>.


id: stats_cdf_binomial
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the binomial distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  binomial distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, n, and p denotes
  cumulative distribution function, the number of successes, the number of trials, and the success
  rate for each trial, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxnp2xCDFnp3nxCDFp4pxCDFn

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, n, or p, determined by <strong>$which</strong>.


id: stats_cdf_cauchy
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the Cauchy distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the Cauchy
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, x0, and gamma denotes
  cumulative distribution function, the value of the random variable, the location and the scale
  parameter of the Cauchy distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxx0gamma2xCDFx0gamma3x0xCDFgamma4gammaxCDFx0

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, x0, or gamma, determined by <strong>$which</strong>.


id: stats_cdf_chisquare
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the chi-square distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  chi-square distribution. The kind of the return value and parameters (<strong>$par1</strong> and <strong>$par2</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, and k denotes
  cumulative distribution function, the value of the random variable, and the degree of freedom of
  the chi-square distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong>1CDFxk2xCDFk3kxCDF

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, or k, determined by <strong>$which</strong>.


id: stats_cdf_exponential
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the exponential distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  exponential distribution. The kind of the return value and parameters (<strong>$par1</strong> and <strong>$par2</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, and lambda denotes
  cumulative distribution function, the value of the random variable, and the rate parameter of the
  exponential distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong>1CDFxlambda2xCDFlambda3lambdaxCDF

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, or lambda, determined by <strong>$which</strong>.


id: stats_cdf_f
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the F distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the F
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, d1, and d2 denotes
  cumulative distribution function, the value of the random variable, and the degree of freedoms of
  the F distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxd1d22xCDFd1d23d1xCDFd24d2xCDFd1

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, d1, or d2, determined by <strong>$which</strong>.


id: stats_cdf_gamma
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the gamma distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the gamma
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, k, and theta denotes
  cumulative distribution function, the value of the random variable, and the shape and the scale
  parameter of the gamma distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxktheta2xCDFktheta3kxCDFtheta4thetaxCDFk

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, k, or theta, determined by <strong>$which</strong>.


id: stats_cdf_laplace
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the Laplace distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  Laplace distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, mu, and b denotes
  cumulative distribution function, the value of the random variable, and the location and the scale
  parameter of the Laplace distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxmub2xCDFmub3muxCDFb4bxCDFmu

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, mu, or b, determined by <strong>$which</strong>.


id: stats_cdf_logistic
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the logistic distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  logistic distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, mu, and s denotes
  cumulative distribution function, the value of the random variable, and the location and the scale
  parameter of the logistic distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxmus2xCDFmus3muxCDFs4sxCDFmu

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, mu, or s, determined by <strong>$which</strong>.


id: stats_cdf_negative_binomial
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the negative binomial distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  negative binomial distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and
  <strong>$par3</strong>) are determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, r, and p denotes
  cumulative distribution function, the number of failure, the number of success, and the success
  rate for each trial, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxrp2xCDFrp3rxCDFp4pxCDFr

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, r, or p, determined by <strong>$which</strong>.


id: stats_cdf_noncentral_chisquare
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the non-central chi-square distribution given values for the
  others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  non-central chi-square distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>,
  and <strong>$par3</strong>) are determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, k, and lambda denotes
  cumulative distribution function, the value of the random variable, the degree of freedom and the
  non-centrality parameter of the distribution, respectively. Return value and
  parameters<strong>$which</strong>Return value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxklambda2xCDFklambda3kxCDFlambda4lambdaxCDFk

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, k, or lambda, determined by <strong>$which</strong>.


id: stats_cdf_noncentral_f
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the non-central F distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  non-central F distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, <strong>$par3</strong>, and
  <strong>$par4</strong>) are determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, nu1, nu2, and lambda
  denotes cumulative distribution function, the value of the random variable, the degree of freedoms
  and the non-centrality parameter of the distribution, respectively. Return value and
  parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong><strong>$par4</strong>1CDFxnu1nu2lambda2xCDFnu1nu2lambda3nu1xCDFnu2lambda4nu2xCDFnu1lambda5lambdaxCDFnu1nu2

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>float</info>  <strong>$par4</strong>   The fourth parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, nu1, nu2, or lambda, determined by <strong>$which</strong>.


id: stats_cdf_noncentral_t
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the non-central t-distribution give values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  non-central t-distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>)
  are determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, nu, and mu denotes
  cumulative distribution function, the value of the random variable, the degrees of freedom and the
  non-centrality parameter of the distribution, respectively. Return value and
  parameters<strong>$which</strong>Return value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxnumu2xCDFnumu3nuxCDFmu4muxCDFnu

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, nu, or mu, determined by <strong>$which</strong>.


id: stats_cdf_normal
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the normal distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the normal
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, mu, and sigma denotes
  cumulative distribution function, the value of the random variable, the mean and the standard
  deviation of the normal distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxmusigma2xCDFmusigma3muxCDFsigma4sigmaxCDFmu

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, mu, or sigma, determined by <strong>$which</strong>.


id: stats_cdf_poisson
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the Poisson distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  Poisson distribution. The kind of the return value and parameters (<strong>$par1</strong> and <strong>$par2</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, and lambda denotes
  cumulative distribution function, the value of the random variable, and the parameter of the
  Poisson distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong>1CDFxlambda2xCDFlambda3lambdaxCDF

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, or lambda, determined by <strong>$which</strong>.


id: stats_cdf_t
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the t-distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  t-distribution. The kind of the return value and parameters (<strong>$par1</strong> and <strong>$par2</strong>) are determined by
  <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, and nu denotes
  cumulative distribution function, the value of the random variable, and the degrees of freedom of
  the t-distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong>1CDFxnu2xCDFnu3nuxCDF

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, or nu, determined by <strong>$which</strong>.


id: stats_cdf_uniform
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the uniform distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  uniform distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, a, and b denotes
  cumulative distribution function, the value of the random variable, the lower bound and the higher
  bound of the uniform distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxab2xCDFab3axCDFb4bxCDFa

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, a, or b, determined by <strong>$which</strong>.


id: stats_cdf_weibull
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the Weibull distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  Weibull distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, k, and lambda denotes
  cumulative distribution function, the value of the random variable, the shape and the scale
  parameter of the Weibull distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxklambda2xCDFklambda3kxCDFlambda4lambdaxCDFk

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, k, or lambda, determined by <strong>$which</strong>.


id: stats_covariance
type: function
doc:
<comment>Description:</comment>
  Computes the covariance of two data sets
  
  Returns the covariance of <strong>$a</strong> and <strong>$b</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The first array
  <info>array</info>  <strong>$b</strong>  The second array

<comment>Return:</comment>
  <info>float</info>  Returns the covariance of <strong>$a</strong> and <strong>$b</strong>, or <info>false</info> on failure.


id: stats_dens_beta
type: function
doc:
<comment>Description:</comment>
  Probability density function of the beta distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the beta distribution of
  which the shape parameters are <strong>$a</strong> and <strong>$b</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>  The value at which the probability density is calculated
  <info>float</info>  <strong>$a</strong>  The shape parameter of the distribution
  <info>float</info>  <strong>$b</strong>  The shape parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_cauchy
type: function
doc:
<comment>Description:</comment>
  Probability density function of the Cauchy distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the Cauchy distribution
  whose location and scale are <strong>$ave</strong> and <strong>$stdev</strong>, respectively.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$ave</strong>    The location parameter of the distribution
  <info>float</info>  <strong>$stdev</strong>  The scale parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_chisquare
type: function
doc:
<comment>Description:</comment>
  Probability density function of the chi-square distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the chi-square
  distribution of which the degree of freedom is <strong>$dfr</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>    The value at which the probability density is calculated
  <info>float</info>  <strong>$dfr</strong>  The degree of freedom of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_exponential
type: function
doc:
<comment>Description:</comment>
  Probability density function of the exponential distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the exponential
  distribution of which the scale is <strong>$scale</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$scale</strong>  The scale of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_f
type: function
doc:
<comment>Description:</comment>
  Probability density function of the F distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the F distribution of
  which the degree of freedoms are <strong>$dfr1</strong> and <strong>$dfr2</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>     The value at which the probability density is calculated
  <info>float</info>  <strong>$dfr1</strong>  The degree of freedom of the distribution
  <info>float</info>  <strong>$dfr2</strong>  The degree of freedom of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_gamma
type: function
doc:
<comment>Description:</comment>
  Probability density function of the gamma distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the gamma distribution of
  which the shape parameter is <strong>$shape</strong> and the scale parameter is <strong>$scale</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$shape</strong>  The shape parameter of the distribution
  <info>float</info>  <strong>$scale</strong>  The scale parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_laplace
type: function
doc:
<comment>Description:</comment>
  Probability density function of the Laplace distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the Laplace distribution
  of which the location parameter is <strong>$ave</strong> and the scale parameter is <strong>$stdev</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$ave</strong>    The location parameter of the distribution
  <info>float</info>  <strong>$stdev</strong>  The shape parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_logistic
type: function
doc:
<comment>Description:</comment>
  Probability density function of the logistic distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the logistic distribution
  of which the location parameter is <strong>$ave</strong> and the scale parameter is <strong>$stdev</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$ave</strong>    The location parameter of the distribution
  <info>float</info>  <strong>$stdev</strong>  The shape parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_normal
type: function
doc:
<comment>Description:</comment>
  Probability density function of the normal distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the normal distribution
  of which the mean is <strong>$ave</strong> and the standard deviation is <strong>$stdev</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$ave</strong>    The mean of the distribution
  <info>float</info>  <strong>$stdev</strong>  The standard deviation of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_pmf_binomial
type: function
doc:
<comment>Description:</comment>
  Probability mass function of the binomial distribution
  
  Returns the probability mass at <strong>$x</strong>, where the random variable follows the binomial distribution of
  which the number of trials is <strong>$n</strong> and the success rate is <strong>$pi</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>   The value at which the probability mass is calculated
  <info>float</info>  <strong>$n</strong>   The number of trials of the distribution
  <info>float</info>  <strong>$pi</strong>  The success rate of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability mass at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_pmf_hypergeometric
type: function
doc:
<comment>Description:</comment>
  Probability mass function of the hypergeometric distribution
  
  Returns the probability mass at <strong>$n1</strong>, where the random variable follows the hypergeometric
  distribution of which the number of failure is <strong>$n2</strong>, the number of success samples is <strong>$N1</strong>, and the
  number of failure samples is <strong>$N2</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$n1</strong>  The number of success, at which the probability mass is calculated
  <info>float</info>  <strong>$n2</strong>  The number of failure of the distribution
  <info>float</info>  <strong>$N1</strong>  The number of success samples of the distribution
  <info>float</info>  <strong>$N2</strong>  The number of failure samples of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability mass at <strong>$n1</strong> or <info>false</info> for failure.


id: stats_dens_pmf_negative_binomial
type: function
doc:
<comment>Description:</comment>
  Probability mass function of the negative binomial distribution
  
  Returns the probability mass at <strong>$x</strong>, where the random variable follows the negative binomial
  distribution of which the number of the success is <strong>$n</strong> and the success rate is <strong>$pi</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>   The value at which the probability mass is calculated
  <info>float</info>  <strong>$n</strong>   The number of the success of the distribution
  <info>float</info>  <strong>$pi</strong>  The success rate of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability mass at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_pmf_poisson
type: function
doc:
<comment>Description:</comment>
  Probability mass function of the Poisson distribution
  
  Returns the probability mass at <strong>$x</strong>, where the random variable follows the Poisson distribution
  whose parameter is <strong>$lb</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>   The value at which the probability mass is calculated
  <info>float</info>  <strong>$lb</strong>  The parameter of the Poisson distribution

<comment>Return:</comment>
  <info>float</info>  The probability mass at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_t
type: function
doc:
<comment>Description:</comment>
  Probability density function of the t-distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the t-distribution of
  which the degree of freedom is <strong>$dfr</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>    The value at which the probability density is calculated
  <info>float</info>  <strong>$dfr</strong>  The degree of freedom of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_uniform
type: function
doc:
<comment>Description:</comment>
  Probability density function of the uniform distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the uniform distribution
  of which the lower bound is <strong>$a</strong> and the upper bound is <strong>$b</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>  The value at which the probability density is calculated
  <info>float</info>  <strong>$a</strong>  The lower bound of the distribution
  <info>float</info>  <strong>$b</strong>  The upper bound of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_weibull
type: function
doc:
<comment>Description:</comment>
  Probability density function of the Weibull distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the Weibull distribution
  of which the shape parameter is <strong>$a</strong> and the scale parameter is <strong>$b</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>  The value at which the probability density is calculated
  <info>float</info>  <strong>$a</strong>  The shape parameter of the distribution
  <info>float</info>  <strong>$b</strong>  The scale parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_harmonic_mean
type: function
doc:
<comment>Description:</comment>
  Returns the harmonic mean of an array of values
  
  Returns the harmonic mean of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The input array

<comment>Return:</comment>
  <info>number</info>  Returns the harmonic mean of the values in <strong>$a</strong>, or <info>false</info> if <strong>$a</strong> is empty or is not an array.


id: stats_kurtosis
type: function
doc:
<comment>Description:</comment>
  Computes the kurtosis of the data in the array
  
  Returns the kurtosis of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The input array

<comment>Return:</comment>
  <info>float</info>  Returns the kurtosis of the values in <strong>$a</strong>, or <info>false</info> if <strong>$a</strong> is empty or is not an array.


id: stats_rand_gen_beta
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the beta distribution
  
  Returns a random deviate from the beta distribution with parameters A and B. The density of the
  beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 \< x \<. Method R. C. H. Cheng.

<comment>Param:</comment>
  <info>float</info>  <strong>$a</strong>  The shape parameter of the beta distribution
  <info>float</info>  <strong>$b</strong>  The shape parameter of the beta distribution

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_chisquare
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the chi-square distribution
  
  Returns a random deviate from the chi-square distribution where the degrees of freedom is  <strong>$df</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$df</strong>  The degrees of freedom

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_exponential
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the exponential distribution
  
  Returns a random deviate from the exponential distribution of which the scale is <strong>$av</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$av</strong>  The scale parameter

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_f
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the F distribution
  
  Generates a random deviate from the F (variance ratio) distribution with  "dfn" degrees of freedom
  in the numerator and "dfd" degrees of freedom in  the denominator. Method : directly generates
  ratio of chisquare variates.

<comment>Param:</comment>
  <info>float</info>  <strong>$dfn</strong>  The degrees of freedom in the numerator
  <info>float</info>  <strong>$dfd</strong>  The degrees of freedom in the denominator

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_funiform
type: function
doc:
<comment>Description:</comment>
  Generates uniform float between low (exclusive) and high (exclusive)
  
  Returns a random deviate from the uniform distribution from <strong>$low</strong> to <strong>$high</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$low</strong>   The lower bound (inclusive)
  <info>float</info>  <strong>$high</strong>  The upper bound (exclusive)

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_gamma
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the gamma distribution
  
  Generates a random deviate from the gamma distribution whose density is (A**R)/Gamma(R) * X**(R-1)
  * Exp(-A*X).

<comment>Param:</comment>
  <info>float</info>  <strong>$a</strong>  location parameter of Gamma distribution (<strong>$a</strong> &gt; 0).
  <info>float</info>  <strong>$r</strong>  shape parameter of Gamma distribution (<strong>$r</strong> &gt; 0).

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_ibinomial
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the binomial distribution
  
  Returns a random deviate from the binomial distribution whose number of trials is <strong>$n</strong> and whose
  probability of an event in each trial is <strong>$pp</strong>.

<comment>Param:</comment>
  <info>int</info>    <strong>$n</strong>   The number of trials
  <info>float</info>  <strong>$pp</strong>  The probability of an event in each trial

<comment>Return:</comment>
  <info>int</info>  A random deviate


id: stats_rand_gen_ibinomial_negative
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the negative binomial distribution
  
  Returns a random deviate from a negative binomial distribution where the number of success is <strong>$n</strong>
  and the success rate is <strong>$p</strong>.

<comment>Param:</comment>
  <info>int</info>    <strong>$n</strong>  The number of success
  <info>float</info>  <strong>$p</strong>  The success rate

<comment>Return:</comment>
  <info>int</info>  A random deviate, which is the number of failure.


id: stats_rand_gen_int
type: function
doc:
<comment>Description:</comment>
  Generates random integer between 1 and 2147483562
  
  Returns a random integer between 1 and 2147483562

<comment>Return:</comment>
  <info>int</info>  A random integer


id: stats_rand_gen_ipoisson
type: function
doc:
<comment>Description:</comment>
  Generates a single random deviate from a Poisson distribution
  
  Returns a random deviate from the Poisson distribution with parameter <strong>$mu</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$mu</strong>  The parameter of the Poisson distribution

<comment>Return:</comment>
  <info>int</info>  A random deviate


id: stats_rand_gen_iuniform
type: function
doc:
<comment>Description:</comment>
  Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
  
  Returns a random integer from the discrete uniform distribution between <strong>$low</strong> (inclusive) and <strong>$high</strong>
  (inclusive).

<comment>Param:</comment>
  <info>int</info>  <strong>$low</strong>   The lower bound
  <info>int</info>  <strong>$high</strong>  The upper bound

<comment>Return:</comment>
  <info>int</info>  A random integer


id: stats_rand_gen_noncentral_chisquare
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the non-central chi-square distribution
  
  Returns a random deviate from the non-central chi-square distribution with degrees of freedom,
  <strong>$df</strong>, and non-centrality parameter, <strong>$xnonc</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$df</strong>     The degrees of freedom
  <info>float</info>  <strong>$xnonc</strong>  The non-centrality parameter

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_noncentral_f
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the noncentral F distribution
  
  Returns a random deviate from the non-central F distribution where the degrees of freedoms are
  <strong>$dfn</strong> (numerator) and <strong>$dfd</strong> (denominator), and the non-centrality parameter is <strong>$xnonc</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$dfn</strong>    The degrees of freedom of the numerator
  <info>float</info>  <strong>$dfd</strong>    The degrees of freedom of the denominator
  <info>float</info>  <strong>$xnonc</strong>  The non-centrality parameter

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_noncentral_t
type: function
doc:
<comment>Description:</comment>
  Generates a single random deviate from a non-central t-distribution
  
  Returns a random deviate from the non-central t-distribution with the degrees of freedom, <strong>$df</strong>, and
  the non-centrality parameter, <strong>$xnonc</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$df</strong>     The degrees of freedom
  <info>float</info>  <strong>$xnonc</strong>  The non-centrality parameter

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_normal
type: function
doc:
<comment>Description:</comment>
  Generates a single random deviate from a normal distribution
  
  Returns a random deviate from the normal distribution with mean, <strong>$av</strong>, and standard deviation, <strong>$sd</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$av</strong>  The mean of the normal distribution
  <info>float</info>  <strong>$sd</strong>  The standard deviation of the normal distribution

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_t
type: function
doc:
<comment>Description:</comment>
  Generates a single random deviate from a t-distribution
  
  Returns a random deviate from the t-distribution with the degrees of freedom, <strong>$df</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$df</strong>  The degrees of freedom

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_get_seeds
type: function
doc:
<comment>Description:</comment>
  Get the seed values of the random number generator
  
  Returns the current seed values of the random number generator

<comment>Return:</comment>
  <info>array</info>  Returns an array of two integers.


id: stats_rand_phrase_to_seeds
type: function
doc:
<comment>Description:</comment>
  Generate two seeds for the RGN random number generator
  
  Generate two seeds for the random number generator from a <strong>$phrase</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$phrase</strong>  The input phrase

<comment>Return:</comment>
  <info>array</info>  Returns an array of two integers.


id: stats_rand_ranf
type: function
doc:
<comment>Description:</comment>
  Generates a random floating point number between 0 and 1
  
  Returns a random floating point number from a uniform distribution between 0 (exclusive) and  1
  (exclusive).

<comment>Return:</comment>
  <info>float</info>  A random floating point number


id: stats_rand_setall
type: function
doc:
<comment>Description:</comment>
  Set seed values to the random generator
  
  Set <strong>$iseed1</strong> and <strong>$iseed2</strong> as seed values to the random generator used in statistic functions.

<comment>Param:</comment>
  <info>int</info>  <strong>$iseed1</strong>  The value which is used as the random seed
  <info>int</info>  <strong>$iseed2</strong>  The value which is used as the random seed

<comment>Return:</comment>
  <info>void</info>  No values are returned.


id: stats_skew
type: function
doc:
<comment>Description:</comment>
  Computes the skewness of the data in the array
  
  Returns the skewness of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The input array

<comment>Return:</comment>
  <info>float</info>  Returns the skewness of the values in <strong>$a</strong>, or <info>false</info> if <strong>$a</strong> is empty or is not an array.


id: stats_standard_deviation
type: function
doc:
<comment>Description:</comment>
  Returns the standard deviation
  
  Returns the standard deviation of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>       The array of data to find the standard deviation for. Note that all  values of the
                  array will be cast to <info>float</info>.
  <info>bool</info>   <strong>$sample</strong>  Indicates if <strong>$a</strong> represents a sample of the  population; defaults to <info>false</info>.

<comment>Return:</comment>
  <info>float</info>  Returns the standard deviation on success; <info>false</info> on failure.


id: stats_stat_binomial_coef
type: function
doc:
<comment>Description:</comment>
  Returns a binomial coefficient
  
  Returns the binomial coefficient of <strong>$n</strong> choose <strong>$x</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$x</strong>  The number of chooses from the set
  <info>int</info>  <strong>$n</strong>  The number of elements in the set

<comment>Return:</comment>
  <info>float</info>  Returns the binomial coefficient


id: stats_stat_correlation
type: function
doc:
<comment>Description:</comment>
  Returns the Pearson correlation coefficient of two data sets
  
  Returns the Pearson correlation coefficient between <strong>$arr1</strong> and <strong>$arr2</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr1</strong>  The first array
  <info>array</info>  <strong>$arr2</strong>  The second array

<comment>Return:</comment>
  <info>float</info>  Returns the Pearson correlation coefficient between <strong>$arr1</strong> and <strong>$arr2</strong>, or <info>false</info> on failure.


id: stats_stat_factorial
type: function
doc:
<comment>Description:</comment>
  Returns the factorial of an integer
  
  Returns the factorial of an integer, <strong>$n</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$n</strong>  An integer

<comment>Return:</comment>
  <info>float</info>  The factorial of <strong>$n</strong>.


id: stats_stat_independent_t
type: function
doc:
<comment>Description:</comment>
  Returns the t-value from the independent two-sample t-test
  
  Returns the t-value of the independent two-sample t-test between <strong>$arr1</strong> and <strong>$arr2</strong>.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr1</strong>  The first set of values
  <info>array</info>  <strong>$arr2</strong>  The second set of values

<comment>Return:</comment>
  <info>float</info>  Returns the t-value, or <info>false</info> if failure.


id: stats_stat_innerproduct
type: function
doc:
<comment>Description:</comment>
  Returns the inner product of two vectors
  
  Returns the inner product of <strong>$arr1</strong> and <strong>$arr2</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr1</strong>  The first array
  <info>array</info>  <strong>$arr2</strong>  The second array

<comment>Return:</comment>
  <info>float</info>  Returns the inner product of <strong>$arr1</strong> and <strong>$arr2</strong>, or <info>false</info> on failure.


id: stats_stat_paired_t
type: function
doc:
<comment>Description:</comment>
  Returns the t-value of the dependent t-test for paired samples
  
  Returns the t-value of the dependent t-test for paired samples <strong>$arr1</strong> and <strong>$arr2</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr1</strong>  The first samples
  <info>array</info>  <strong>$arr2</strong>  The second samples

<comment>Return:</comment>
  <info>float</info>  Returns the t-value, or <info>false</info> if failure.


id: stats_stat_percentile
type: function
doc:
<comment>Description:</comment>
  Returns the percentile value
  
  Returns the <strong>$perc</strong>-th percentile value of the array <strong>$arr</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr</strong>   The input array
  <info>float</info>  <strong>$perc</strong>  The percentile

<comment>Return:</comment>
  <info>float</info>  Returns the percentile values of the input array.


id: stats_stat_powersum
type: function
doc:
<comment>Description:</comment>
  Returns the power sum of a vector
  
  Returns the sum of the <strong>$power</strong>-th power of a vector represented as an array <strong>$arr</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr</strong>    The input array
  <info>float</info>  <strong>$power</strong>  The power

<comment>Return:</comment>
  <info>float</info>  Returns the power sum of the input array.


id: stats_variance
type: function
doc:
<comment>Description:</comment>
  Returns the variance
  
  Returns the variance of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>       The array of data to find the standard deviation for. Note that all  values of the
                  array will be cast to <info>float</info>.
  <info>bool</info>   <strong>$sample</strong>  Indicates if <strong>$a</strong> represents a sample of the  population; defaults to <info>false</info>.

<comment>Return:</comment>
  <info>float</info>  Returns the variance on success; <info>false</info> on failure.


id: stdClass
type: class
doc:
<comment>Description:</comment>
  A generic empty class with dynamic properties.
  
  Objects of this class can be instantiated with new operator or created by typecasting to object.
  Several PHP functions also create instances of this class, e.g. <strong>json_decode()</strong>,
  <strong>mysqli_fetch_object()</strong> or PDOStatement::fetchObject.
  
  Despite not implementing __get()/__set() magic methods, this class allows dynamic properties and
  does not require the #[\AllowDynamicProperties] attribute.
  
  This is not a base class as PHP does not have a concept of a universal base class. However, it is
  possible to create a custom class that extends from <class>stdClass</class> and as a result inherits the
  functionality of dynamic properties.


id: stomp_connect_error
type: function
doc:
<comment>Description:</comment>
  Devuelve una cadena descripción de el último error al conectar
  
  Devuelve una cadena descripción de el último error al conectar.

<comment>Return:</comment>
  <info>string</info>  Una cadena que describe el error, o <info>null</info> si no hay errores.


id: stomp_version
type: function
doc:
<comment>Description:</comment>
  Obtiene la versión actual de la extensión stomp
  
  Devuelve una cadena que contiene la versión actual de la extensión stomp.

<comment>Return:</comment>
  <info>string</info>  Esta devuelve la versión actual de la extensión stomp


id: str_contains
type: function
doc:
<comment>Description:</comment>
  Determine if a string contains a given substring
  
  Performs a case-sensitive check indicating if <strong>$needle</strong> is contained in <strong>$haystack</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  The string to search in.
  <info>string</info>  <strong>$needle</strong>    The substring to search for in the <strong>$haystack</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$needle</strong> is in <strong>$haystack</strong>, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>str_ends_with()</strong>
   * <strong>str_starts_with()</strong>
   * <strong>stripos()</strong>
   * <strong>strrpos()</strong>
   * <strong>strripos()</strong>
   * <strong>strstr()</strong>
   * <strong>strpbrk()</strong>
   * <strong>substr()</strong>
   * <strong>preg_match()</strong>


id: str_decrement
type: function
doc:
<comment>Description:</comment>
  Decrement an alphanumeric string
  
  Returns the decremented alphanumeric ASCII <strong>$string</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The input string.

<comment>Return:</comment>
  <info>string</info>  Returns the decremented alphanumeric ASCII string.

<comment>See Also:</comment>
   * <strong>str_increment()</strong>


id: str_ends_with
type: function
doc:
<comment>Description:</comment>
  Checks if a string ends with a given substring
  
  Performs a case-sensitive check indicating if <strong>$haystack</strong> ends with <strong>$needle</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  The string to search in.
  <info>string</info>  <strong>$needle</strong>    The substring to search for in the <strong>$haystack</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$haystack</strong> ends with <strong>$needle</strong>, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>str_contains()</strong>
   * <strong>str_starts_with()</strong>
   * <strong>stripos()</strong>
   * <strong>strrpos()</strong>
   * <strong>strripos()</strong>
   * <strong>strstr()</strong>
   * <strong>strpbrk()</strong>
   * <strong>substr()</strong>
   * <strong>preg_match()</strong>


id: str_getcsv
type: function
doc:
<comment>Description:</comment>
  Convierte un string con formato CSV a un array 
    
  
  Convierte el string dado por input con campos en formato CSV y devuelve un array que contiene los
  campos leídos.

<comment>Param:</comment>
  <info>string</info>  <strong>$input</strong>      El string a convertir.
  <info>string</info>  <strong>$delimiter</strong>  Establece el delimitador de campos (sólo un carácter).
  <info>string</info>  <strong>$enclosure</strong>  Establece el carácter circundante de cada campo (sólo un carácter).
  <info>string</info>  <strong>$escape</strong>     Establece el carácter de escape (sólo un carácter). Por defecto, es una barra
                      invertida.  (<return>\</return>)

<comment>Return:</comment>
  <info>array</info>  Devuelve un array indexado que contiene los campos leídos.

<comment>See Also:</comment>
   * <strong>fgetcsv()</strong>


id: str_increment
type: function
doc:
<comment>Description:</comment>
  Increment an alphanumeric string
  
  Returns the incremented alphanumeric ASCII <strong>$string</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The input string.

<comment>Return:</comment>
  <info>string</info>  Returns the incremented alphanumeric ASCII string.

<comment>See Also:</comment>
   * <strong>str_decrement()</strong>


id: str_ireplace
type: function
doc:
<comment>Description:</comment>
  Versión insensible a mayúsculas y minúsculas de str_replace
  
  Esta función devuelve un string o un array con todas las apariciones de <strong>$search</strong> en <strong>$subject</strong>
  (ignorando mayúsculas y minúsculas) reemplazadas con el valor dado de <strong>$replace</strong>. Si no se necesitan
  reglas complicadas de reemplazo, en general se puede utilizar esta función en lugar de
  <strong>preg_replace()</strong> con el modificador <return>i</return>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$search</strong>   El valor a ser buscado, también conocida como la aguja. Un array puede ser
                   utilizado para designar varias agujas.
  <info>mixed</info>  <strong>$replace</strong>  El valor de reemplazo que sustituye los valores encontrados de <strong>$search</strong>. Un array
                   puede ser utilizado para designar reemplazos múltiples.
  <info>mixed</info>  <strong>$subject</strong>  El string o array sobre el que se busca y se sustituye, también conocido como el
                   pajar.
                   
                   Si <strong>$subject</strong> es un array, entonces la búsqueda y reemplazo se realiza con cada
                   entrada de <strong>$subject</strong> y el valor devuelto también es un array.
  <info>int</info>    <strong>$count</strong>    Si es pasado, con éste parámetro se establece el número de reemplazos realizados.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve un string o un array de sustituciones.

<comment>See Also:</comment>
   * <strong>str_replace()</strong>
   * <strong>preg_replace()</strong>
   * <strong>strtr()</strong>


id: str_pad
type: function
doc:
<comment>Description:</comment>
  Rellena un string hasta una longitud determinada con otro string
  
  Esta función devuelve el string <strong>$input</strong> rellenado por la izquierda, la derecha, o en ambos lados
  hasta la longitud especificada. Si el argumento opcional <strong>$pad_string</strong> no se suministra, el <strong>$input</strong>
  se rellena con espacios, de lo contrario, se rellena con los caracteres de <strong>$pad_string</strong> hasta el
  límite.

<comment>Param:</comment>
  <info>string</info>  <strong>$input</strong>       El string de entrada.
  <info>int</info>     <strong>$pad_length</strong>  La longitud del relleno. Si el valor de <strong>$pad_length</strong> es negativo, inferior o
                       igual a la longitud del string de entrada, no se realizará ningún relleno,
                       devolviendo así <strong>$input</strong>.
  <info>string</info>  <strong>$pad_string</strong>  El <strong>$pad_string</strong> se puede truncar si el número necesario de caracteres de
                       relleno no pueden ser divididos uniformemente por la longitud de <strong>$pad_string</strong>.
  <info>int</info>     <strong>$pad_type</strong>    El argumento opcional <strong>$pad_type</strong> puede ser <info>STR_PAD_RIGHT</info>, <info>STR_PAD_LEFT</info>, o
                       <info>STR_PAD_BOTH</info>. Si no se especifica  <strong>$pad_type</strong> se asume como <info>STR_PAD_RIGHT</info>.

<comment>Return:</comment>
  <info>string</info>  Devuelve el string rellenado.


id: str_repeat
type: function
doc:
<comment>Description:</comment>
  Repite un string
  
  Devuelve el <strong>$input</strong> repetido <strong>$multiplier</strong> veces.

<comment>Param:</comment>
  <info>string</info>  <strong>$input</strong>       El string a ser repetido.
  <info>int</info>     <strong>$multiplier</strong>  El número de veces que el string <strong>$input</strong> debe ser repetido.
                       
                       <strong>$multiplier</strong> debe ser mayor o igual a 0. Si el <strong>$multiplier</strong> se establece en 0,
                       la función devolverá un string vacío.

<comment>Return:</comment>
  <info>string</info>  Devuelve el string repetido.

<comment>See Also:</comment>
   * for
   * <strong>str_pad()</strong>
   * <strong>substr_count()</strong>


id: str_replace
type: function
doc:
<comment>Description:</comment>
  Reemplaza todas las apariciones del string buscado con el string de reemplazo
  
  Esta función devuelve un string o un array con todas las apariciones de <strong>$search</strong> en <strong>$subject</strong>
  reemplazadas con el valor dado de <strong>$replace</strong>.
  
  Si no se necesitan reglas complicadas de reemplazo (como expresiones regulares), se puede utilizar
  siempre esta función en lugar de <strong>preg_replace()</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$search</strong>   El valor a ser buscado, también conocida como la aguja. Un array puede ser
                   utilizado para designar varias agujas.
  <info>mixed</info>  <strong>$replace</strong>  El valor de reemplazo que sustituye los valores encontrados de <strong>$search</strong>. Un array
                   puede ser utilizado para designar reemplazos múltiples.
  <info>mixed</info>  <strong>$subject</strong>  El string o array sobre el que se busca y se sustituye, también conocido como el
                   pajar.
                   
                   Si <strong>$subject</strong> es un array, entonces la búsqueda y reemplazo se realiza con cada
                   entrada de <strong>$subject</strong> y el valor devuelto también es un array.
  <info>int</info>    <strong>$count</strong>    Si es pasado, con este se establece el número de reemplazos realizados.

<comment>Return:</comment>
  <info>mixed</info>  Esta función devuelve un string o un array con los valores sustituidos.

<comment>See Also:</comment>
   * <strong>str_ireplace()</strong>
   * <strong>substr_replace()</strong>
   * <strong>preg_replace()</strong>
   * <strong>strtr()</strong>


id: str_rot13
type: function
doc:
<comment>Description:</comment>
  Realizar la transformación rot13 sobre una cadena
  
  Aplica la codificación ROT13 sobre el argumento <strong>$str</strong> y devuelve la cadena resultante.
  
  La codificación ROT13 simplemente desplaza cada letra en 13 posiciones en el alfabeto, mientras
  que deja todos los caracteres no-alfabéticos intactos. La codificación y la decodificación se
  realizan con la misma función, pasar una cadena codificada como argumento devolverá la versión
  original.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  La cadena de entrada.

<comment>Return:</comment>
  <info>string</info>  Devuelve la versión ROT13 de la cadena dada.


id: str_shuffle
type: function
doc:
<comment>Description:</comment>
  Reordena aleatoriamente una cadena
  
  <strong>str_shuffle()</strong> baraja una cadena. Es creada una permutación de todas las posibles.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  La cadena de entrada.

<comment>Return:</comment>
  <info>string</info>  Devuelve la cadena barajada.

<comment>See Also:</comment>
   * <strong>shuffle()</strong>
   * <strong>rand()</strong>


id: str_split
type: function
doc:
<comment>Description:</comment>
  Convierte un string en un array
  
  Convierte un string en un array.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>        El string de entrada.
  <info>int</info>     <strong>$split_length</strong>  Longitud máxima del fragmento.

<comment>Return:</comment>
  <info>array</info>  Si el parámetro opcional <strong>$split_length</strong> se especifica, el array devuelto será separado en
         fragmentos los cuales cada uno tendrá una longitud de <strong>$split_length</strong>, de otra manera cada
         fragmento tendrá una longitud de un caracter.
         
         Se devuelve <info>false</info> si <strong>$split_length</strong> es menor que 1. Si la longitud <strong>$split_length</strong> excede la
         longitud de <strong>$string</strong>, el string entero es devuelto como el primero (y único) elemento del
         array.

<comment>See Also:</comment>
   * <strong>chunk_split()</strong>
   * <strong>preg_split()</strong>
   * <strong>explode()</strong>
   * <strong>count_chars()</strong>
   * <strong>str_word_count()</strong>
   * for


id: str_starts_with
type: function
doc:
<comment>Description:</comment>
  Checks if a string starts with a given substring
  
  Performs a case-sensitive check indicating if <strong>$haystack</strong> begins with <strong>$needle</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  The string to search in.
  <info>string</info>  <strong>$needle</strong>    The substring to search for in the <strong>$haystack</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$haystack</strong> begins with <strong>$needle</strong>, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>str_contains()</strong>
   * <strong>str_ends_with()</strong>
   * <strong>stripos()</strong>
   * <strong>strrpos()</strong>
   * <strong>strripos()</strong>
   * <strong>strstr()</strong>
   * <strong>strpbrk()</strong>
   * <strong>substr()</strong>
   * <strong>preg_match()</strong>


id: str_word_count
type: function
doc:
<comment>Description:</comment>
  Devuelve información sobre las palabras utilizadas en un string
    
  
  Cuenta el número de palabras dentro de <strong>$string</strong>. Si no se especifica el <strong>$format</strong> opcional, entonces
  el valor devuelto será un integer representando el número de palabras encontradas. En el caso en
  que se especifique <strong>$format</strong>, el valor devuelto será un array cuyo contenido depende de <strong>$format</strong>. Los
  posibles valores para <strong>$format</strong> y las salidas resultantes están listadas más abajo.
  
  Para los propósitos de esta función, 'palabra' se define como un string dependiente de la
  configuración regional que contiene caracteres alfabéticos, el cual también puede contener, pero
  no iniciar con los caracteres "'" y "-".

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>    El string
  <info>int</info>     <strong>$format</strong>    Especifica el valor devuelto de esta función. Los valores soportados
                     actualmente son:  0 - devuelve el número de palabras encontradas  1 - devuelve
                     un array que contiene todas las palabras encontradas dentro del <strong>$string</strong>  2 -
                     devuelve un array asociativo, donde la clave es la posición numérica de una
                     palabra dentro del <strong>$string</strong> y el valor es la palabra en sí.
                     
                     0 - devuelve el número de palabras encontradas
                     
                     1 - devuelve un array que contiene todas las palabras encontradas dentro del
                     <strong>$string</strong>
                     
                     2 - devuelve un array asociativo, donde la clave es la posición numérica de una
                     palabra dentro del <strong>$string</strong> y el valor es la palabra en sí.
  <info>string</info>  <strong>$charlist</strong>  Una lista de caracteres adicionales los cuales serán considerados como de
                     'palabra'.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve un array o un integer, dependiendo del <strong>$format</strong> seleccionado.

<comment>See Also:</comment>
   * <strong>explode()</strong>
   * <strong>preg_split()</strong>
   * <strong>split()</strong>
   * <strong>count_chars()</strong>
   * <strong>substr_count()</strong>


id: strcasecmp
type: function
doc:
<comment>Description:</comment>
  Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  
  Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas.

<comment>Param:</comment>
  <info>string</info>  <strong>$str1</strong>  El primer string
  <info>string</info>  <strong>$str2</strong>  El segundo string

<comment>Return:</comment>
  <info>int</info>  Devuelve \< 0 si <strong>$str1</strong> es menor que <strong>$str2</strong>; &gt; 0 si <strong>$str1</strong> es mayor que <strong>$str2</strong> y 0 si son
       iguales.

<comment>See Also:</comment>
   * <strong>strcmp()</strong>
   * <strong>preg_match()</strong>
   * <strong>substr_compare()</strong>
   * <strong>strncasecmp()</strong>
   * <strong>stristr()</strong>
   * <strong>substr()</strong>


id: strchr
type: function
doc:
<comment>Description:</comment>
  Alias de strstr
  
  Esta función es un alias de:  <strong>strstr()</strong>.


id: strcmp
type: function
doc:
<comment>Description:</comment>
  Comparación de string segura a nivel binario
  
  Tenga en cuenta que esta comparación considera mayúsculas y minúsculas.

<comment>Param:</comment>
  <info>string</info>  <strong>$str1</strong>  El primer string.
  <info>string</info>  <strong>$str2</strong>  El segundo string.

<comment>Return:</comment>
  <info>int</info>  Devuelve \< 0 si <strong>$str1</strong> es menor que <strong>$str2</strong>; &gt; 0 si <strong>$str1</strong> es mayor que <strong>$str2</strong> y 0 si son
       iguales.

<comment>See Also:</comment>
   * <strong>strcasecmp()</strong>
   * <strong>preg_match()</strong>
   * <strong>substr_compare()</strong>
   * <strong>strncmp()</strong>
   * <strong>strstr()</strong>
   * <strong>substr()</strong>


id: strcoll
type: function
doc:
<comment>Description:</comment>
  Comparación de cadenas basada en la localidad
  
  Note que esta comparación es sensible a mayúsculas y minúsculas, y a diferencia de <strong>strcmp()</strong>, esta
  función no es segura con material binario.
  
  <strong>strcoll()</strong> usa la localidad actual para realizar las comparaciones. Si la localidad actual es C o
  POSIX, esta función es equivalente a <strong>strcmp()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$str1</strong>  La primera cadena.
  <info>string</info>  <strong>$str2</strong>  La segunda cadena.

<comment>Return:</comment>
  <info>int</info>  Devuelve \< 0 si <strong>$str1</strong> es menor que <strong>$str2</strong>; &gt; 0 si  <strong>$str1</strong> es mayor que <strong>$str2</strong>, y 0 si son
       equivalentes.

<comment>See Also:</comment>
   * <strong>preg_match()</strong>
   * <strong>strcmp()</strong>
   * <strong>strcasecmp()</strong>
   * <strong>substr()</strong>
   * <strong>stristr()</strong>
   * <strong>strncasecmp()</strong>
   * <strong>strncmp()</strong>
   * <strong>strstr()</strong>
   * <strong>setlocale()</strong>


id: strcspn
type: function
doc:
<comment>Description:</comment>
  Averiguar la longitud del segmento inicial que no coincida con una máscara
  
  Devuelve la longitud del segmento inicial de <strong>$subject</strong>, el cual no contiene ningún caracter de
  <strong>$mask</strong>.
  
  Si se omiten <strong>$start</strong> y <strong>$length</strong>, se examinará <strong>$subject</strong> al completo. Si se incluyen, el efecto será
  el mismo que una llamada a <return>strcspn(substr($subject, $start, $length), $mask)</return> (véase  para más
  información).

<comment>Param:</comment>
  <info>string</info>  <strong>$subject</strong>  El string a examinar.
  <info>string</info>  <strong>$mask</strong>     El string que contiene cada caracter no permitido.
  <info>int</info>     <strong>$start</strong>    La posición en <strong>$subject</strong> donde comenzar la búsqueda.
                    
                    Si se proporciona <strong>$start</strong> y no es negativo, <strong>strcspn()</strong> comenzará a examinar
                    <strong>$subject</strong> en la posición <strong>$start</strong>-ésima. Por ejemplo, en el '<return>abcdef</return>', el caracter
                    en la posición <return>0</return> es '<return>a</return>', el caracter en la posición <return>2</return> es '<return>c</return>', etc.
                    
                    Si se proporciona <strong>$start</strong> y es negativo, <strong>strcspn()</strong> comenzará a examinar <strong>$subject</strong>
                    en la <strong>$start</strong>-ésima a partir del final de <strong>$subject</strong>.
  <info>int</info>     <strong>$length</strong>   La longitud del segmento de <strong>$subject</strong> a examinar.
                    
                    Si se proporcina <strong>$length</strong> y no es negativo, <strong>$subject</strong> será examinado desde <strong>$length</strong>
                    caracteres después de la posición inicial.
                    
                    Si se proporcina <strong>$length</strong> y es negativo, <strong>$subject</strong> será examinado desde la
                    posición inicial hasta <strong>$length</strong> caracteres a partir del final de <strong>$subject</strong>.

<comment>Return:</comment>
  <info>int</info>  Devuelve la longitud del segmento inicial de <strong>$subject</strong>, el cual consiste en todos los
       caracteres no presentes en <strong>$mask</strong>.
       
       Cuando se establece el parámetro <strong>$start</strong>, la longitud devuelta se cuenta a partir de esta
       posición, no desde el comienzo de <strong>$subject</strong>.

<comment>See Also:</comment>
   * <strong>strspn()</strong>


id: streamWrapper
type: class
doc:
<comment>Description:</comment>
  Permite implementar sus propios gestores de protocolo y flujos para usarlos con las demás
  funciones de sistemas de archivos (como <strong>fopen()</strong>, <strong>fread()</strong> etc.).
  
  Esta NO es una clase real, sólo es un prototipo de cómo debería ser una clase que define su propio
  protocolo.
  
  Implementar los métodos de distinta forma que la descrita aquí puede conducir a un comportamiento
  indefinido.
  
  Una instancia de esta clase se inicializa tan pronto como una función de flujo intente acceder al
  protocolo al que está asociado.


id: streamWrapper::__construct
type: function
doc:
<comment>Description:</comment>
  Construye una nueva envoltura de flujo
  
  Llamado cuando se abre la envoltura de flujo, justo antes de streamWrapper::stream_open.


id: streamWrapper::__destruct
type: function
doc:
<comment>Description:</comment>
  Destruye una envoltura de flujo existente
  
  Llamado al cerrar la envoltura de flujo, justo antes de streamWrapper::stream_flush.


id: streamWrapper::dir_closedir
type: function
doc:
<comment>Description:</comment>
  Cerrar un gestor de directorio
  
  Este método es llamado en respuesta a <strong>closedir()</strong>.
  
  Cualquier recurso que fue bloqueado o asignado durante la apertura y utiliza el flujo de
  directorio, debería ser liberado.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>closedir()</strong>
   * streamWrapper::dir_opendir


id: streamWrapper::dir_opendir
type: function
doc:
<comment>Description:</comment>
  Abrir un gestor de directorio
  
  Este método es llamado en respuesta a <strong>opendir()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>     Especifica la URL que fue pasada a <strong>opendir()</strong>.
                    
                    La URL se puede desmontar con <strong>parse_url()</strong>.
  <info>int</info>     <strong>$options</strong>  

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>opendir()</strong>
   * streamWrapper::dir_closedir
   * <strong>parse_url()</strong>


id: streamWrapper::dir_readdir
type: function
doc:
<comment>Description:</comment>
  Leer una entrada desde el gestor de directorio
  
  Este método es llamado en respuesta a <strong>readdir()</strong>.

<comment>Return:</comment>
  <info>string</info>  Debería devolver un valor de tipo <info>string</info> que representa el siguiente nombre de archivo, o
          <info>false</info> si no hay un siguiente archivo.
          
          El valor devuelto será convertido a un valor de tipo <info>string</info>.

<comment>See Also:</comment>
   * <strong>readdir()</strong>


id: streamWrapper::dir_rewinddir
type: function
doc:
<comment>Description:</comment>
  Rebobina el gestor de directorio
  
  Este método es llamado en respuesta a <strong>rewinddir()</strong>.
  
  Debería reiniciar la salida generada por streamWrapper::dir_readdir. Esto es: La siguiente llamada
  a streamWrapper::dir_readdir debería devolver la primera entrada en la ubicación devueta por
  streamWrapper::dir_opendir.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>rewinddir()</strong>
   * streamWrapper::dir_readdir


id: streamWrapper::mkdir
type: function
doc:
<comment>Description:</comment>
  Crear un directorio
  
  Este método es llamado en respuesta a <strong>mkdir()</strong>.
  
  Para que el mensaje de error apropiado sea devuelto, este método no debería ser definido si la
  envoltura no soporta la creación de directorios.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>     El directorio que debería ser creado.
  <info>int</info>     <strong>$mode</strong>     El valor pasdo a <strong>mkdir()</strong>.
  <info>int</info>     <strong>$options</strong>  Una máscara a nivel de bits de valores, como <info>STREAM_MKDIR_RECURSIVE</info>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>mkdir()</strong>
   * streamwrapper::rmdir


id: streamWrapper::rename
type: function
doc:
<comment>Description:</comment>
  Renombra un archivo o directorio
  
  Este método es llamado en respuesta a <strong>rename()</strong>.
  
  Debería intentar renombrar <strong>$path_from</strong> a <strong>$path_to</strong>
  
  Para que el mensaje de error apropiado sea devuelto, este método no debería ser definido si la
  envoltura no soporta el renombramiento de archivos.

<comment>Param:</comment>
  <info>string</info>  <strong>$path_from</strong>  La URL al archivo actual.
  <info>string</info>  <strong>$path_to</strong>    La URL que debería ser renombrada por <strong>$path_from</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>rename()</strong>


id: streamWrapper::rmdir
type: function
doc:
<comment>Description:</comment>
  Elimina un directorio
  
  Este método es llamado en respuesta a <strong>rmdir()</strong>.
  
  Para que el mensaje de error apropiado sea devuelto, este método no debería ser definido si la
  envoltura no soporta la eliminación de directorios.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>     La URL del directorio que debería ser eliminado.
  <info>int</info>     <strong>$options</strong>  Una máscara a nivel de bits de valores, como <info>STREAM_MKDIR_RECURSIVE</info>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>rmdir()</strong>
   * streamwrapper::mkdir
   * streamwrapper::unlink


id: streamWrapper::stream_cast
type: function
doc:
<comment>Description:</comment>
  Recuperar el recurso subyacente
  
  Este método es llamado en respuesta a <strong>stream_select()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$cast_as</strong>  Puede ser <info>STREAM_CAST_FOR_SELECT</info> cuando <strong>stream_select()</strong> llama a <strong>stream_cast()</strong>, o
                 <info>STREAM_CAST_AS_STREAM</info> cuando <strong>stream_cast()</strong> es llamado para otros usos.

<comment>Return:</comment>
  <info>resource</info>  Debería devolver el recurso de flujo subyacente usado por la envoltura, o <info>false</info>.

<comment>See Also:</comment>
   * <strong>stream_select()</strong>


id: streamWrapper::stream_close
type: function
doc:
<comment>Description:</comment>
  Cerrar un recurso
  
  Este método es llamado en respuesta a <strong>fclose()</strong>.
  
  Todos los recursos que estaban bloqueados o asignados por la envoltura deberían ser liberados.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * <strong>fclose()</strong>
   * streamWrapper::dir_closedir


id: streamWrapper::stream_eof
type: function
doc:
<comment>Description:</comment>
  Comprueba si un puntero a un archivo está en el final del archivo (EOF)
  
  Este método es llamado en respuesta a <strong>feof()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Debería devolver <info>true</info> si la posición de lectura/escritura está al final del flujo y no hay
        más información disponible para leer, o de otro modo <info>false</info>.

<comment>See Also:</comment>
   * <strong>feof()</strong>


id: streamWrapper::stream_flush
type: function
doc:
<comment>Description:</comment>
  Vuelca la salida
  
  Este método es llamado en respuesta a <strong>fflush()</strong> y cuando el flujo está siendo cerrado mientras
  cualquier dato no volcado haya sido escrito en él antes.
  
  Si se tiene información en la caché del flujo pero aún no se ha guardado en el almacenamiento
  subyacente, se debería hacer ahora.

<comment>Return:</comment>
  <info>bool</info>  Debería devolver <info>true</info> si la información en la caché se almacenó con éxito (o si no había
        información que almacenar), o <info>false</info> si la información podría no estar almacenada.

<comment>See Also:</comment>
   * <strong>fflush()</strong>


id: streamWrapper::stream_lock
type: function
doc:
<comment>Description:</comment>
  Bloqueo de archivos asesorado
  
  Este método es llamado en respuesta a <strong>flock()</strong>, cuando se utiliza <strong>file_put_contents()</strong> (cuando el
  parámetro <strong>$flags</strong> contiene <info>LOCK_EX</info>), <strong>stream_set_blocking()</strong> y cuando se cierra el flujo (<info>LOCK_UN</info>).

<comment>Param:</comment>
  <info>int</info>  <strong>$operation</strong>  <strong>$operation</strong> es una de las operaciones siguientes: <info>LOCK_SH</info> para adquirir un bloqueo
                   compartido (lectura). <info>LOCK_EX</info> para adquirir un bloqueo exclusivo (escritura).
                   <info>LOCK_UN</info> para liberar un bloqueo (compartido o exclusivo). <info>LOCK_NB</info>, utilice esta
                   operación si no quiere que <strong>flock()</strong> bloquee mientras opera. (no soportado en
                   Windows)
                   
                   <info>LOCK_SH</info> para adquirir un bloqueo compartido (lectura).
                   
                   <info>LOCK_EX</info> para adquirir un bloqueo exclusivo (escritura).
                   
                   <info>LOCK_UN</info> para liberar un bloqueo (compartido o exclusivo).
                   
                   <info>LOCK_NB</info>, utilice esta operación si no quiere que <strong>flock()</strong> bloquee mientras opera.
                   (no soportado en Windows)

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>stream_set_blocking()</strong>
   * <strong>flock()</strong>


id: streamWrapper::stream_metadata
type: function
doc:
<comment>Description:</comment>
  Cambiar los metadatos del flujo
  
  Este método es llamado para establecer metadatos en el flujo. Se invoca cuando una de las
  siguientes funciones es llamada sobre un URL de flujo: <strong>touch()</strong><strong>chmod()</strong><strong>chown()</strong><strong>chgrp()</strong> Observe que
  algunas de estas operaciones pueden no estar disponibles en su sistema.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>    La ruta del fichero o el URL a establecer los metadatos. Observe que en caso de
                   ser un URL, debe ser un URL delimitado por ://. No se admiten otros formatos de
                   URL.
  <info>int</info>     <strong>$option</strong>  Una de las siguientes opciones: <info>STREAM_META_TOUCH</info> (El método fue llamado en
                   respuesta a <strong>touch()</strong>)<info>STREAM_META_OWNER_NAME</info> (El método fue llamado en respuesta a
                   <strong>chown()</strong> con parámetro de tipo string)<info>STREAM_META_OWNER</info> (El método fue llamado en
                   respuesta a <strong>chown()</strong>)<info>STREAM_META_GROUP_NAME</info> (El método fue llamado en respuesta a
                   <strong>chgrp()</strong>)<info>STREAM_META_GROUP</info> (El método fue llamado en respuesta a
                   <strong>chgrp()</strong>)<info>STREAM_META_ACCESS</info> (El método fue llamado en respuesta a <strong>chmod()</strong>)
  <info>mixed</info>   <strong>$value</strong>   Si el parámetro <strong>$option</strong> es <info>STREAM_META_TOUCH</info>: <info>Array</info> que consiste en dos
                   argumentos de la función <strong>touch()</strong>.<info>STREAM_META_OWNER_NAME</info> o <info>STREAM_META_GROUP_NAME</info>:
                   El nombre del usuario/grupo propietario como <info>string</info>.<info>STREAM_META_OWNER</info> o
                   <info>STREAM_META_GROUP</info>: El valor del argumento del usuario/grupo propietario como
                   <info>int</info>.<info>STREAM_META_ACCESS</info>: El argumento de la función <strong>chmod()</strong> como <info>int</info>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error. Si <strong>$option</strong> no se implementa,
        debería devolver <info>false</info>.

<comment>See Also:</comment>
   * <strong>touch()</strong>
   * <strong>chmod()</strong>
   * <strong>chown()</strong>
   * <strong>chgrp()</strong>


id: streamWrapper::stream_open
type: function
doc:
<comment>Description:</comment>
  Abre un archivo o una URL
  
  Este método es llamado inmediatemente después de que la envoltura sea inicializada (p.ej. usando
  <strong>fopen()</strong> y <strong>file_get_contents()</strong>).

<comment>Param:</comment>
  <info>string</info>       <strong>$path</strong>         Especifica la URL que fue pasada a la función original.
                             
                             La URL se puede desmontar con <strong>parse_url()</strong>. Observe que sólo las URL
                             delimitadas por :// están soportadas. : y :/ aunque técnicamente son
                             URL válidas, no lo están.
  <info>string</info>       <strong>$mode</strong>         El modo usado para abrir el archivo, como está detallado en <strong>fopen()</strong>.
                             
                             Recuerde verificar si <strong>$mode</strong> es válido para la ruta <strong>$path</strong> solicitada.
  <info>int</info>          <strong>$options</strong>      Contiene banderas adicionales establecidas por la API de flujos. Puede
                             contener uno o más de los siguientes valores usando OR entre ellos.
                             BanderaDescripción<info>STREAM_USE_PATH</info>Si la ruta <strong>$path</strong> es relativa, se busca
                             el recurso usando include_path. <info>STREAM_REPORT_ERRORS</info>Si está establecida
                             esta bandera, uno mismo es responsble de lanzar errores usando
                             <strong>trigger_error()</strong> durante la apertura del flujo. Si esta bandera no está
                             establecida, no se debería lanzar ningún error.
  <info>string|null</info>  <strong>$opened_path</strong>  Si la ruta <strong>$path</strong> es abierta con éxito, y <info>STREAM_USE_PATH</info> está
                             establecido en <strong>$options</strong>, <strong>$opened_path</strong> debería ser establecido a la ruta
                             completa del archivo/recurso que fue abierto realmente.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>fopen()</strong>
   * <strong>parse_url()</strong>


id: streamWrapper::stream_read
type: function
doc:
<comment>Description:</comment>
  Leer un flujo
  
  Este método es llamado en respuesta a <strong>fread()</strong> y <strong>fgets()</strong>.
  
  Recuerde actualizar la posición de lectura/escritura del flujo (por el número de bytes que fueron
  leídos con éxito).

<comment>Param:</comment>
  <info>int</info>  <strong>$count</strong>  Cuántos bytes de información desde la posición actual deberían ser devueltos.

<comment>Return:</comment>
  <info>string</info>  Si hay menos bytes disponibles que en <strong>$count</strong> devolver tantos como estén disponibles. Si no
          hay más información disponible, devolver <info>false</info> o una cadena vacía.

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fgets()</strong>


id: streamWrapper::stream_seek
type: function
doc:
<comment>Description:</comment>
  Busca la ubicación específica en un flujo
  
  Este método es llamado en respuesta a <strong>fseek()</strong>.
  
  La posición de lectura/escritura del flujo debería ser actualizada según  <strong>$offset</strong> y <strong>$whence</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$offset</strong>  El flujo de desplazamiento a buscar.
  <info>int</info>  <strong>$whence</strong>  Valores posibles: <info>SEEK_SET</info> - Establece la posición igual a <strong>$offset</strong> bytes.<info>SEEK_CUR</info> -
                Establece la posición de la ubicación actual más <strong>$offset</strong>.<info>SEEK_END</info> - Establece la
                posición al final del archivo más <strong>$offset</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la posición se ha actualizado, si no <info>false</info>.

<comment>See Also:</comment>
   * <strong>fseek()</strong>


id: streamWrapper::stream_set_option
type: function
doc:
<comment>Description:</comment>
  Cambiar las opciones del flujo
  
  Este método es llamado para establecer las opciones del flujo.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  Una de las siguientes opciones: <info>STREAM_OPTION_BLOCKING</info> (El método fue llamado en
                respuesta a <strong>stream_set_blocking()</strong>)<info>STREAM_OPTION_READ_TIMEOUT</info> (El método fue llamado
                en respuesta a <strong>stream_set_timeout()</strong>)<info>STREAM_OPTION_WRITE_BUFFER</info> (El método fue
                llamado en respuesta a  <strong>stream_set_write_buffer()</strong>)
  <info>int</info>  <strong>$arg1</strong>    Si <strong>$option</strong> es <info>STREAM_OPTION_BLOCKING</info>: modo de bloqueo solicitado (1 significa
                bloqueo, 0 sin bloqueo).<info>STREAM_OPTION_READ_TIMEOUT</info>: tiempo de espera en
                segundos.<info>STREAM_OPTION_WRITE_BUFFER</info>: modo del buffer (<info>STREAM_BUFFER_NONE</info> o
                <info>STREAM_BUFFER_FULL</info>).
  <info>int</info>  <strong>$arg2</strong>    Si <strong>$option</strong> es <info>STREAM_OPTION_BLOCKING</info>: Esta opción no está
                establecida.<info>STREAM_OPTION_READ_TIMEOUT</info>: tiempo de espera en
                microsegundos.<info>STREAM_OPTION_WRITE_BUFFER</info>: el tamaño del buffer solicitado.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error. Si <strong>$option</strong> no está implementado,
        debería devolver <info>false</info>..

<comment>See Also:</comment>
   * <strong>stream_set_blocking()</strong>
   * <strong>stream_set_timeout()</strong>
   * <strong>stream_set_write_buffer()</strong>


id: streamWrapper::stream_stat
type: function
doc:
<comment>Description:</comment>
  Recuperar información sobre un recurso de archivo
  
  Este método es llamado en respuesta a <strong>fstat()</strong>.

<comment>Return:</comment>
  <info>array</info>  Véase <strong>stat()</strong>.

<comment>See Also:</comment>
   * <strong>stat()</strong>
   * streamwrapper::url_stat


id: streamWrapper::stream_tell
type: function
doc:
<comment>Description:</comment>
  Recuperar la posición actual de un flujo
  
  Este método es llamado en respuesta a <strong>fseek()</strong>  para determinar la posición actual.

<comment>Return:</comment>
  <info>int</info>  Debería devolver la posición actual del flujo.

<comment>See Also:</comment>
   * <strong>ftell()</strong>


id: streamWrapper::stream_truncate
type: function
doc:
<comment>Description:</comment>
  Truncar un flujo
  
  Responderá a la truncación, p.ej. a través de <strong>ftruncate()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$new_size</strong>  El nuevo tamaño.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ftruncate()</strong>


id: streamWrapper::stream_write
type: function
doc:
<comment>Description:</comment>
  Escribir en un flujo
  
  Este método es llamado en respuesta a <strong>fwrite()</strong>.
  
  Recuerde actualizar la posición actual del flujo por el número de bytes que fueron escritos con
  éxito.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Esta información debería ser almacenada en el flujo subyacente.
                 
                 Si no hay espacio suficiente en el flujo subyacente, guardar lo más posible.

<comment>Return:</comment>
  <info>int</info>  Debería devolver el número de bytes que fueron almacenados con éxito, o 0 si no se puede
       almacenar nada.

<comment>See Also:</comment>
   * <strong>fwrite()</strong>


id: streamWrapper::unlink
type: function
doc:
<comment>Description:</comment>
  Borrar un archivo
  
  Este método es llamado en respuesta a <strong>unlink()</strong>.
  
  Para que el mensaje de error apropiado sea devuelto, este método no debería ser definido si la
  envoltura no soporta la eliminación de archivos.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  LA URL del archivo que debería ser borrado.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>unlink()</strong>
   * streamWrapper::rmdir


id: streamWrapper::url_stat
type: function
doc:
<comment>Description:</comment>
  Recuperar información sobre un archivo
  
  Este método es llamado en respuesta a todas las funciones relacionadas con <strong>stat()</strong>, como:
  <strong>copy()</strong><strong>fileperms()</strong><strong>fileinode()</strong><strong>filesize()</strong><strong>fileowner()</strong><strong>filegroup()</strong><strong>fileatime()</strong><strong>filemtime()</strong><strong>filectime()</strong><strong>filetype()</strong><strong>is_writable()</strong><strong>is_readable()</strong><strong>is_executable()</strong><strong>is_file()</strong><strong>is_dir()</strong><strong>is_link()</strong><strong>file_exists()</strong><strong>lstat()</strong><strong>stat()</strong>SplFileInfo::getPermsSplFileInfo::getInodeSplFileInfo::getSizeSplFileInfo::getOwnerSplFileInfo::getGroupSplFileInfo::getATimeSplFileInfo::getMTimeSplFileInfo::getCTimeSplFileInfo::getTypeSplFileInfo::isWritableSplFileInfo::isReadableSplFileInfo::isExecutableSplFileInfo::isFileSplFileInfo::isDirSplFileInfo::isLinkRecursiveDirectoryIterator::hasChildren

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>   La ruta del archivo o de la URL de donde obtener las estadísticas. Observe que en
                  el caso que sea una URL, debe ser una URL delimitada con ://. No están soportadas
                  formas de URL.
  <info>int</info>     <strong>$flags</strong>  Contiene banderas adicionales establecidas por la API de flujos. Puede contener
                  uno o más de los siguientes valores usando OR entre ellos.
                  BanderaDescripciónSTREAM_URL_STAT_LINK Para recursos con la capacidad de enlazar a
                  otros recursos (como HTTP Location: forward, o un enlace simbólico de sistema de
                  archivos). Esta bandera especifica que sólo debería ser devuelta la información
                  acerca del enlace mismo, no del recurso apuntado por el enlace. Esta bandera está
                  establecida en respuesta a las llamadas a <strong>lstat()</strong>, <strong>is_link()</strong>, o <strong>filetype()</strong>.
                  STREAM_URL_STAT_QUIETSi esta bandera está establecida, la envoltura no debería
                  lanzar ningún error. Si esta bandera no está establecida, uno mismo es responsable
                  de notificar errores usando la función <strong>trigger_error()</strong> durante la obtención de
                  estadísticas de la ruta.

<comment>Return:</comment>
  <info>array</info>  Debería devolver tantos elementos como tiene <strong>stat()</strong>. Valores desconocidos o no disponibles
         deberían ser establecidos a un valor razonable (normalmente <info>0</info>).

<comment>See Also:</comment>
   * <strong>stat()</strong>
   * streamwrapper::stream_stat


id: stream_bucket_append
type: function
doc:
<comment>Description:</comment>
  Añade un recipiente a una cadena de recipientes
    
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>void</info>  


id: stream_bucket_make_writeable
type: function
doc:
<comment>Description:</comment>
  Devuelve un objeto recipiente desde una cadena de recipientes para operarar con él
    
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>object</info>  


id: stream_bucket_new
type: function
doc:
<comment>Description:</comment>
  Crear un nuevo recipiente para usarlo en el flujo actual
    
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>object</info>  


id: stream_bucket_prepend
type: function
doc:
<comment>Description:</comment>
  Añade un recipiente al principio de una cadena de recipientes
    
  
  Se puede invocar a esta función para añadir un recipiente al principio de una cadena de
  recipientes. Normalmente se llama desde php_user_filter::filter.

<comment>Param:</comment>
  <info>resource</info>  <strong>$brigade</strong>  <strong>$brigade</strong> es un recurso que apunta a una <return>bucjet brigade</return> (cadena de recipientes)
                      que contiene uno o más objetos <return>bucket</return> (recipiente).
  <info>object</info>    <strong>$bucket</strong>   Un objeto recipiente.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: stream_context_create
type: function
doc:
<comment>Description:</comment>
  Crear un contexto de flujo
  
  Crea y devuelve un contexto de flujo con cualquier opción proporcionada en <strong>$options</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  Debe ser un array asociativo de arrays asociativos con el formato
                   <return>$matriz['envoltura']['opción'] = $valor</return>.
                   
                   Por defecto es un array vacío.
  <info>array</info>  <strong>$params</strong>   Debe ser un array asociativo en el formato <return>$matriz['parámetro'] = $valor</return>.
                   Consulte parámetros de contexto para un listado de los parámetros de flujo
                   estándar.

<comment>Return:</comment>
  <info>resource</info>  Un <info>resource</info> de contexto de flujo.

<comment>See Also:</comment>
   * <strong>stream_context_set_option()</strong>
   * Listado de las envolturas soportadas ()
   * Opciones de contexto ()


id: stream_context_get_default
type: function
doc:
<comment>Description:</comment>
  Recuperar el contexto de flujo predeterminado
  
  Devuelve el contexto de flujo predeterminado que es usado siempre que las operaciones con archivos
  (<strong>fopen()</strong>, <strong>file_get_contents()</strong>, etc...) son llamadas sin un parámetro de contexto. Las opciones
  para el contexto predeterminado pueden ser especificadas opcionalmente con esta función usando la
  misma sintaxis que en <strong>stream_context_create()</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  <strong>$options</strong> debe ser una matriz asociativa de matrices asociativas con el formato
                   <return>$matriz['envoltura']['opción'] = $valor</return>.
                   
                   A partir de PHP 5.3.0, la función <strong>stream_context_set_default()</strong> se puede usar para
                   establecer el contexto predeterminado.

<comment>Return:</comment>
  <info>resource</info>  Un <info>resource</info> de contexto de flujo.

<comment>See Also:</comment>
   * <strong>stream_context_create()</strong>
   * Listado de envolturas soportadas con opciones de contexto ().


id: stream_context_get_options
type: function
doc:
<comment>Description:</comment>
  Recuperar las opciones para un flujo/envoltura/contexto
  
  Devuelve una matriz de opciones del el flujo o contexto especificados.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream_or_context</strong>  El <info>stream</info> (flujo) o <info>context</info> (contexto) de donde se van a obtener las
                                opciones

<comment>Return:</comment>
  <info>array</info>  Devuelve una matriz asociativa con las opciones.


id: stream_context_get_params
type: function
doc:
<comment>Description:</comment>
  Recuperar los parámetros de un contexto
  
  Recupera la información de los parámetros y de las opciones de un flujo o contexto.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream_or_context</strong>  Un <info>resource</info> de flujo o un <info>resource</info> de contexto

<comment>Return:</comment>
  <info>array</info>  Devuelve una matriz asociativa que contiene todas las opciones y parámetros del contexto.

<comment>See Also:</comment>
   * <strong>stream_context_set_option()</strong>
   * <strong>stream_context_get_params()</strong>
   * <strong>stream_context_set_params()</strong>


id: stream_context_set_default
type: function
doc:
<comment>Description:</comment>
  Establecer el contexto de flujo predeterminado
  
  Establece el contexto de flujo predeterminado que será usado siempre que la operaciones de
  archivos (<strong>fopen()</strong>, <strong>file_get_contents()</strong>, etc...) sean llamadas sin un parámetro de contexto. Usa la
  misma sintaxis que <strong>stream_context_create()</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  Las opciones a establecer para el contexto predeterminado.
                   
                   <strong>$options</strong> debe ser una matriz asociativa de matrices asociativas con el formato
                   <return>$matriz['envoltura']['opción'] = $valor</return>.

<comment>Return:</comment>
  <info>resource</info>  Devuelve el contexto de flujo predeterminado.

<comment>See Also:</comment>
   * <strong>stream_context_create()</strong>
   * <strong>stream_context_get_default()</strong>
   * Listado de las envolturas soportadas con opciones de contexto ().


id: stream_context_set_option
type: function
doc:
<comment>Description:</comment>
  Establece una opción para un flujo/envoltura/contexto
  
  Esteblece una opción en el contexto especificado. <strong>$value</strong> es establecio a <strong>$option</strong> para <strong>$wrapper</strong>

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream_or_context</strong>  El recurso de flujo o de contexto al que se le va a aplicar las
                                opciones.
  <info>array</info>     <strong>$options</strong>            Las opciones a establecer al contexto predeterminado.
                                
                                <strong>$options</strong> debe ser una matriz asociativa de matrices asociativas con
                                el formato <return>$matriz['envoltura']['opción'] = $valor</return>.
                                
                                Consulte opciones y parámetros de contexto para una lista de
                                opciones de flujos.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: stream_context_set_options
type: function
doc:
<comment>Description:</comment>
  Sets options on the specified context
  
  Sets options on the specified context.

<comment>Param:</comment>
  <info>resource</info>  <strong>$context</strong>  The stream or context resource to apply the options to.
  <info>array</info>     <strong>$options</strong>  The options to set for <strong>$context</strong>.
                      
                      <strong>$options</strong> must be an associative <info>array</info> of associative arrays in the format
                      $array['wrapper']['option'] = $value.
                      
                      Refer to context options and parameters for a listing of stream options.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>stream_context_set_option()</strong>


id: stream_context_set_params
type: function
doc:
<comment>Description:</comment>
  Establecer parámetros para un flujo/envoltura/contexto
  
  Establece parámetros en el contexto especificado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream_or_context</strong>  El flujo o el contexto para aplicar los parámetros.
  <info>array</info>     <strong>$params</strong>             Un array de parámetros para configurar.
                                
                                <strong>$params</strong> debería ser un array asociativo con la estructura:
                                <return>$parámetros['nombre_parametro'] = "valor_parametro";</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>stream_notification_callback()</strong>


id: stream_copy_to_stream
type: function
doc:
<comment>Description:</comment>
  Copia información desde un flujo a otro
  
  Hace una copia de hasta <strong>$maxlength</strong> bytes de información desde la posición actual (o desde la
  posición de <strong>$offset</strong>, si se especifica) desde <strong>$source</strong> a <strong>$dest</strong>. Si no se especifica <strong>$maxlength</strong>, todo
  el contenido restante de <strong>$source</strong> será copiado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$source</strong>     El flujo de origen
  <info>resource</info>  <strong>$dest</strong>       El flujo de destino
  <info>int</info>       <strong>$maxlength</strong>  Máximos bytes a copiar
  <info>int</info>       <strong>$offset</strong>     El índice donde comenzar a copiar información

<comment>Return:</comment>
  <info>int</info>  Devuelve el número total de bytes copiados,  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>copy()</strong>


id: stream_filter_append
type: function
doc:
<comment>Description:</comment>
  Enlaza un filtro a un flujo
  
  Añade un nombre de filtro dado por <strong>$filtername</strong> a la lista de filtros adjuntos a <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>      El flujo objetivo.
  <info>string</info>    <strong>$filtername</strong>  El nombre del filtro.
  <info>int</info>       <strong>$read_write</strong>  Por omisión, <strong>stream_filter_append()</strong> enlazará el filtro a la <return>cadena de
                         filtros de lectura</return> si el archivo fue abierto para lectura (esto es, Modo de
                         Archivo: <return>r</return>, y/o <return>+</return>). El filtro también será enlazado a la <return>cadena de filtros
                         de escritura</return> si el archivo fue abierto para escritura (esto es, Modo de
                         Archivo: <return>w</return>, <return>a</return>, y/o <return>+</return>). <info>STREAM_FILTER_READ</info>, <info>STREAM_FILTER_WRITE</info>, y/o
                         <info>STREAM_FILTER_ALL</info> también se pueden pasar al parámetro <strong>$read_write</strong> para
                         sobrescribir este comportamiento.
  <info>mixed</info>     <strong>$params</strong>      Este filtro será añadido con los parámetros <strong>$params</strong> especificados al final
                         de la lista y por lo tanto será llamado el último durante las operaciones
                         de flujo. Para añadir un filtro al principio de la lista use
                         <strong>stream_filter_prepend()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Devuelve un recurso en caso de éxito o <info>false</info> en caso de fallo. El recurso se puede
            emplear para referirse a esta instnacia del filtro durante una llamada a
            <strong>stream_filter_remove()</strong>.
            
            Se devuelve <info>false</info> si <strong>$stream</strong> no es un recurso o si <strong>$filtername</strong> no se puede localizar.

<comment>See Also:</comment>
   * <strong>stream_filter_register()</strong>
   * <strong>stream_filter_prepend()</strong>
   * <strong>stream_get_filters()</strong>


id: stream_filter_prepend
type: function
doc:
<comment>Description:</comment>
  Adjunta un filtro a un flujo
  
  Añade un nombre de filtro dado por <strong>$filtername</strong> a la lista de filtros adjuntos a <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>      El flujo objetivo.
  <info>string</info>    <strong>$filtername</strong>  El nombre del filtro.
  <info>int</info>       <strong>$read_write</strong>  Por omisión, <strong>stream_filter_prepend()</strong> adjuntará el filtro a la <return>cadena de
                         filtros de lectura</return> si el fichero fue abierto para lectura (esto es, Modo de
                         Fichero: <return>r</return>, y/o <return>+</return>). El filtro también será adjuntado a la <return>cadena de filtros
                         de escritura</return> si el fichero fue abierto para escritura (esto es, Modo de
                         Fichero: <return>w</return>, <return>a</return>, y/o <return>+</return>). <info>STREAM_FILTER_READ</info>, <info>STREAM_FILTER_WRITE</info>, y/o
                         <info>STREAM_FILTER_ALL</info> también se pueden pasar al parámetro <strong>$read_write</strong> para
                         sobrescribir este comportamiento. Véase <strong>stream_filter_append()</strong> para un
                         ejemplo de cómo usar este parámetro.
  <info>mixed</info>     <strong>$params</strong>      Este filtro será añadido con los parámetros <strong>$params</strong> especificados al inicio
                         de la lista y, por lo tanto, será llamado el primero durante las
                         operaciones de flujo. Para añadir un filtro al final de la lista, use
                         <strong>stream_filter_append()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Devuelve un recurso en caso de éxito o <info>false</info> en caso de fallo. El recurso se puede
            emplear para referirse a esta instnacia del filtro durante una llamada a
            <strong>stream_filter_remove()</strong>.
            
            Se devuelve <info>false</info> si <strong>$stream</strong> no es un recurso o si <strong>$filtername</strong> no se puede localizar.

<comment>See Also:</comment>
   * <strong>stream_filter_register()</strong>
   * <strong>stream_filter_append()</strong>


id: stream_filter_register
type: function
doc:
<comment>Description:</comment>
  Registrar un filtro de flujo definido por el usuario
  
  <strong>stream_filter_register()</strong> permite implementar un filtro propio sobre cualquier flujo registrado
  usado con las demás funciones de sistema de archivos (como <strong>fopen()</strong>, <strong>fread()</strong> etc.).

<comment>Param:</comment>
  <info>string</info>  <strong>$filtername</strong>  El nombre del filtro que va a ser registrado.
  <info>string</info>  <strong>$classname</strong>   Para implementar un filtro se necesita definir una clase como una extensión
                       de <class>php_user_filter</class> con un número de funciones miembro. Cuando se lleva a cabo
                       operaciones de lectura/escritura en el flujo al cuál el filtro está enlazado,
                       PHP pasará la información a través de este filtro (y cualquier otro filtro
                       enlazado a ese flujo) por lo que la información puede ser modificada como se
                       desee. Se deben implementar los métodos exactamente como se describe en
                       <class>php_user_filter</class> - hacerlo de otro modo conducirá a un comportamiento
                       indefinido.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.
        
        <strong>stream_filter_register()</strong> devolverá <info>false</info> si <strong>$filtername</strong> ya está definido.

<comment>See Also:</comment>
   * <strong>stream_wrapper_register()</strong>
   * <strong>stream_filter_append()</strong>
   * <strong>stream_filter_prepend()</strong>


id: stream_filter_remove
type: function
doc:
<comment>Description:</comment>
  Elimina un filtro de un flujo
  
  Elimina un filtro de flujo previamente añadido al flujo con <strong>stream_filter_prepend()</strong> o
  <strong>stream_filter_append()</strong>. Cualquier información restante en el buffer interno del filtro será
  volcada al siguiente filtro antes de eliminarla.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream_filter</strong>  El filtro de flujo a eliminar.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>stream_filter_register()</strong>
   * <strong>stream_filter_append()</strong>
   * <strong>stream_filter_prepend()</strong>


id: stream_get_contents
type: function
doc:
<comment>Description:</comment>
  Transfiere el resto de un flujo a una cadena
  
  Idéntica a <strong>file_get_contents()</strong>, excepto que <strong>stream_get_contents()</strong> opera sobre un recurso de flujo
  ya abierto y devuelve el resto del contenido en una cadena, hasta <strong>$maxlength</strong> bytes y comenzando
  por el <strong>$offset</strong> especificado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$handle</strong>     Un recurso de flujo (p.ej. devuelto desde <strong>fopen()</strong>)
  <info>int</info>       <strong>$maxlength</strong>  El máximo de bytes a leer. Por defecto es -1 (lee todo el buffer restante).
  <info>int</info>       <strong>$offset</strong>     Busca el índice especificado antes de leer. Si este número es negativo, no
                        se hará ninguna búsqueda y la lectura comenzará desde la posición actual.

<comment>Return:</comment>
  <info>string</info>  Devuelve una cadena  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>fgets()</strong>
   * <strong>fread()</strong>
   * <strong>fpassthru()</strong>


